Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么WKWebView无法运行processingjs脚本?_Javascript_Ios_Uiwebview_Wkwebview_Processing.js - Fatal编程技术网

Javascript 为什么WKWebView无法运行processingjs脚本?

Javascript 为什么WKWebView无法运行processingjs脚本?,javascript,ios,uiwebview,wkwebview,processing.js,Javascript,Ios,Uiwebview,Wkwebview,Processing.js,我需要在本地资源的iOS的webview html/js中运行一些processing.js脚本。首先我尝试使用UIWebView,然后我看到文档建议使用WKWebView以获得更好的性能。因此,我编写了以下代码: if NSClassFromString("WKWebView") != nil { let webConfiguration = WKWebViewConfiguration() wkWebView = WKWebView(frame: se

我需要在本地资源的iOS的webview html/js中运行一些processing.js脚本。首先我尝试使用UIWebView,然后我看到文档建议使用WKWebView以获得更好的性能。因此,我编写了以下代码:

    if NSClassFromString("WKWebView") != nil {
        let webConfiguration = WKWebViewConfiguration()
        wkWebView = WKWebView(frame: self.view.bounds, configuration:webConfiguration)
        wkWebView!.scrollView.isScrollEnabled=false
        wkWebView!.uiDelegate = self
        self.view.addSubview(wkWebView!)
        wkWebView!.load(request)
    } else {
        uiWebView = UIWebView(frame: self.view.bounds)
        uiWebView!.scrollView.isScrollEnabled=false
        self.view.addSubview(uiWebView!)
        uiWebView!.loadRequest(request)
    }
处理动画仅在UIWebView中运行,而不在WKWebView中运行;使用WK可以正确呈现除画布以外的页面本身元素,但画布为空。 我已经在iOS 10.3和iOS 8上试过了。 我想也许我需要以某种方式配置WKWebView。但是在文档中没有找到这样的配置选项。 有人注意到同样的问题吗


与这个问题相关的是:我应该如何在iOS中的webview中调试javascript,比如桌面Chrome中的控制台?

我至少可以肯定地回答调试方面的问题,并给出关于它通常可能失败的原因的指示

调试可以在macOS Safari中完成。激活开发人员菜单设置-高级-在菜单栏中显示开发菜单。在上述菜单中,一旦你的应用程序在模拟器或连接的设备上运行,你可以选择你的设备/模拟器,然后连接到你的应用程序或webview

通常,问题可能是文件权限问题,甚至是ATS问题。如果我没有弄错的话,您是在从本地文件构造请求。这可能会对治疗方式产生影响,但我承认我不确定。WKWebView在这方面更为严格。您可能还希望确保标准配置使用的WKPreferences对象满足您的需要。它有几个关于Java的属性,默认情况下允许使用JS,但它不能打开windows。
哦,我猜你没有在设备/模拟器的设置应用程序中停用JS?

现场!Safari中的调试工作非常出色,控制台报告资源加载失败:飞行前响应未成功。Processing.js正在AppBundle中加载文件,但失败。我环顾四周,这似乎就是原因:。我现在只使用UIWebView。谢谢