我们在index.html中的onDeviceReady函数上打开我们的主页,当扫描一个项目时,会打开一个不同的URL。我们在使用windows.open打开多个/不同的URL时遇到问题。它在打开的网站上有LoadError,它破坏了一些功能。如果我们关闭ref.close();对于第一个windows.open,我们没有看到LoadError和打开的网站运行良好,但我们无法打开新的URL或重定向到扫描事件上的另一个页面。 这是引起问题的代码。在日志中,我们看到此错误。
DVWebViewDelegate:当state = 1时启动导航 [22979:c07] webView:didFailLoadWithError - (null) [22979:c07] * WebKit在webView中丢弃了一个未捕获的异常:decisionPolicyForNavigationAction:request:frame:decisionListener:delegate:* - [__ NSPlaceholderDictionary initWithObjects:forKeys:count:]:尝试从中插入nil对象对象[3]
我们正在index.html中尝试这个。
document.addEventListener("deviceready", onDeviceReady, true);
function onDeviceReady() {
url ="www.myhomepage.com";
var ref = window.open(encodeURI(url), '_blank', 'location=yes');
//ref.close();
}
这会打开包含LoadError的网站。如果我们取消注释ref.close();它工作正常,但我们无法在下面的方法中打开另一个URL,当我们扫描一个项目时调用它。
function updateContent(data) {
var url = "http://www.mywebpage.com?searchTerm=1234" ;
url = url.replace('1234',data);
var ref2 = window.open(encodeURI(url) , '_blank' , 'location=yes');
}
我们的要求是每次扫描cordova中的项目时都会调用一个新的URL,这似乎无法正常工作。