移动野生动物园:frame.src vs window.location
Mobile safari : frame.src vs window.location
嗨,快速提问。
从 webview 调用本机的最佳方式是什么。iframe 还是窗口位置 ?
例如:
gapBridge = document.createElement("iframe");
gapBridge.setAttribute("style", "display:none;");
gapBridge.setAttribute("height","0px");
gapBridge.setAttribute("width","0px");
gapBridge.setAttribute("frameborder","0");
document.documentElement.appendChild(gapBridge);
gapBridge.src = custom + "://" + custom;
或:
window.location = custom + "://" + custom;
Ps :顺便说一句,在嵌入式网络视图中更改 src 似乎不起作用。正如堆栈上的其他文章所揭示的那样
在我的情况下,iframe 似乎更好。我在window.location
中看到的问题是,如果您按顺序有多个调用,浏览器将忽略一些调用。使用 iframe 时,您实际上可以为每个调用创建多个 iframe。我还在延迟后删除了 iframe,这样我就不会发现自己有大量的空 iframe DOM。
这是我使用的功能:
function _callNative(url){
var _frame = document.createElement('iframe');
_frame.width=0; _frame.height=0;_frame.frameBorder=0;
document.body.appendChild(_frame);
if (url.indexOf('?') >= 0){
url = url + "&cb=";
}else{
url = url + "?cb=";
}
_frame.src = url + Math.round(Math.random()*1e16);
// Remove the iframe
setTimeout(function(){document.body.removeChild(_frame);}, 2000);
}
例如:
_callNative('native://doSomethingNative()');
_callNative('native://doSomethingElse')
以下是考虑性能的不同替代方案的概要:http://blog.persistent.info/2013/10/a-faster-uiwebview-communication.htmlhttp://blog.persistent.info/2015/08/wkwebview-communication-latency.html
基本上,如果您支持iOS 8或更低版本,那么最好使用location.replace
。
如果您支持iOS 9及更高版本,并且差异很小,您可以选择您喜欢的location.replace
或WKScriptMessageHandler
。
相关文章:
- setInteval vs setTimeout
- $(this).prop('property') vs. this.property
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- Javascript:使用绝对路径设置img src
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- Javascript将图像src更改为淡入淡出
- 如何使用Angular动态添加iframe-src
- Js.erb VS按钮标记-不'不起作用.为什么?
- //而不是在src=“”上使用http://"属性
- reactjs this.refs vs document.getElementById
- 使用:new Image()控制加载html.src=html_URL
- 无法使用nodeJS在html中设置Image src
- 如何动态更改脚本src
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 在字符串中查找所有图像 src URL 并存储在数组中
- 移动野生动物园:frame.src vs window.location
- 通过PHP文件包含外部脚本的任何好处或缺点包括vs script src
- jQuery.get vs <script async src="...">
- document.createElement('script') vs <script src=&