2017-07-28 94 views
2

我有通過HTML文件加載Javascript文件的需求。我按照下面的屏幕截圖所示的順序有結構化文件。在iOS的WKWebView上通過HTML文件加載Javascript文件

enter image description here

HTML head標籤包含Javascript文件如下呼籲:

<head> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 
<script type="text/javascript" src="AjaxCapturer.js"></script> 
<script type="text/javascript" src="authenticate.js"></script> 
</head> 

所以我一直在使用UIWebView正確加載網頁和它的加載如下圖所示的截圖。

enter image description here

現在如果我運行使用WKWebView那麼一回事的頁面繼續加載如下圖所示的截圖。

enter image description here

Javascript文件被燒成(添加警報),但頁面不WKWebView加載。下面是我的代碼邏輯:

-(void)loadWebVW{ 

    WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; 
    WKPreferences *pref = [[WKPreferences alloc] init]; 
    pref.javaScriptEnabled = YES; 
    pref.javaScriptCanOpenWindowsAutomatically = YES; 
    config.preferences = pref; 

    CGRect vwFrame = CGRectMake(10, 80, 300, 480); 
    WKWebView *webVW = [[WKWebView alloc] initWithFrame:vwFrame configuration:config]; 
    [self.view addSubview:webVW]; 
    webVW.navigationDelegate = self; 
    webVW.UIDelegate = self; 

    NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"offline_Forms" 
                 ofType:@"html"]; 
    NSString *html = [NSString stringWithContentsOfFile:htmlPath 
               encoding:NSUTF8StringEncoding 
                error:nil]; 
    NSURL *baseUrl = [NSURL fileURLWithPath: 
         [NSString stringWithFormat:@"%@/JavaScript", 
         [[NSBundle mainBundle] bundlePath]]]; 
    [webVW loadHTMLString:html baseURL:baseUrl]; 

    //or// 

    // [webVW loadRequest:[NSMutableURLRequest requestWithURL:[NSURL URLWithString:htmlPath]]]; 

} 

我們是否需要添加任何額外的東西,將其加載到WKWebView。請幫助。提前致謝。

+0

@randombits,你能幫到這個... –

+0

你有這個@Ganesh Guturi的解決方案嗎?因爲我也面臨同樣的問題,如果你已經修好了,你可以發佈答案嗎?謝謝 –

+0

請在下面看到我的回答@AnilkumariOSdeveloper –

回答

0

我發現它是在iOS 10.3的已知問題,後來在iOS 10.3.2固定,更多信息請參見鏈接 from Apple developer forum。有時我覺得Simulator存在同樣的問題,但在物理設備上工作正常。因此,請確保每次在物理設備上驗證WKWebView功能。

相關問題