将 iframe URL 更改为另一个协议会重新加载页面,但不会在从计时器触发时重新加载

Posted

技术标签:

【中文标题】将 iframe URL 更改为另一个协议会重新加载页面,但不会在从计时器触发时重新加载【英文标题】:Changing iframe URL to another protocol reloads the page, but not when fired from a timer 【发布时间】:2013-09-11 15:33:55 【问题描述】:

我的理论是,Chrome@android 的后续版本在非“用户触发”时会停止以下行为。我的问题是是否有人找到了解决方法。


iframe 上使用另一个架构设置 src 会使设备打开一个应用程序。 好吧..它适用于某些浏览器@设备。

一年以来,它一直适用于“所有”设备,但不久前就没有了。

当我像这样通过点击触发此事件时,它会起作用: (这适用于“所有”设备)

$("#myAnchor").click( function() 
    $("#myIframe").attr( 'src', 'schema://redirect=whatever' );
);

但不是来自这样的计时器: (即这适用于 ie10metro@win8、safari@ios 和opera@android,但不适用于 chrome@android)

window.setTimeout( function() 
    $("#myIframe").attr( 'src', 'schema://redirect=whatever' );
, 1000 );

【问题讨论】:

【参考方案1】:

我们阻止后者在 Chrome 中工作,当时它被滥用于重定向到 Playstore 或其他应用程序。 (注意:我实际上认为我们也阻止了前者的工作)。

首选的解决方案是使用意图锚语法https://developers.google.com/chrome/mobile/docs/intents

【讨论】:

以上是关于将 iframe URL 更改为另一个协议会重新加载页面,但不会在从计时器触发时重新加载的主要内容,如果未能解决你的问题,请参考以下文章

将 NSURL 基本 URL 更改为另一个基本 URL

使用 .htaccess 将 web Url 更改为另一个 Url? [复制]

当SSL终止后,WSDL绑定URL将协议更改为HTTP

如何将背景音乐从一个场景更改为另一个场景?

我可以将我所有的 http:// 链接更改为 // 吗?

将 iframe src 更改为用户输入的 HTML 代码