UIWebview open URL in mobile safari using javascript
UIWebview open URL in mobile safari using javascript
所以我正在使用phaser构建一个HTML5游戏,我有一个按钮,可以在javascript中调用URL,如下所示:
window.open("http://google.com", "_blank");
这在新窗口中打开桌面时效果很好,我也可以通过 webview 在 android 设备上的默认浏览器中打开它。但是在 iOS 上使用 UI 在 swift 中查看,我使用以下代码
func webView(webView: UIWebView!, shouldStartLoadWithRequest request: NSURLRequest!, navigationType: UIWebViewNavigationType) -> Bool {
if navigationType == UIWebViewNavigationType.LinkClicked {
UIApplication.sharedApplication().openURL(request.URL)
return false
}
return true
}
它触发所以是的,我设置了委托,我什至在这里有一个断点,所以我可以查看属性,request.URL
无处可寻。这些属性都没有可用于检测和调用移动野生动物园的 URL...
我在网上找到的所有内容都只是说它只知道可以使用标准链接标签,例如<a href="http://google.com">link text</a>
我也尝试过document.location.href = "http://google.com";
但没有运气。顺便说一句,我用<a href="http://google.com">link text</a>
进行了测试,这个功能有效,它可以在 safari 中打开。当通过Javascript调用URL时,它不起作用。
此外,webViewDidStartLoad/webViewDidFinishLoad
调用 URL 时,这两个都会触发断点,但在 webView 对象中提供的任何属性中找不到 URL...
任何想法如何让委托函数与 javascript 调用 URL 很好地配合使用?或者有什么变通办法的想法?它只是在网络视图中加载链接...我只需要它在移动野生动物园中打开这些链接。
想通了!只需在 html 页面上的某个地方创建一个空标签,即可连接游戏内容,例如:
<a id="theLink" target="_blank" href="http://google.com"></a>
然后像这样使用Javascript"点击"它:
document.getElementById('theLink').click();
与上面的 swift 代码结合使用的对我有用,游戏在 safari 中打开链接。
- 在Safari执行javascript之前对其进行修改
- 如何通过引用var Using DataTables来进行分页或排序
- Safari(Mac OS)上的jQuery平滑滚动问题
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- document.applet.method在Mounatin Lion上抛出safari 6+JDK7异常
- 主干网.与Safari同步问题
- jQuery表单验证适用于Mozilla和Internet Explorer,但不适用于Chrome或Safari
- Object.prototype using 'this'
- 以编程方式选择文本Mobile Safari
- onbeforeunload和asp:Safari和FireFox中的更新面板
- using LocalStorage ionic 2
- jQuery Replacing, Using arrays
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- 防止在移动Safari(iPad/iPhone)中长按/长按默认上下文菜单
- 如何在关闭窗口之前在Safari扩展中捕获窗口关闭
- Using jQuery with classes from ES6
- safari扩展中的重定向url
- UIWebview open URL in mobile safari using javascript
- Using onafterprint in Chrome & Safari