我需要的就像我如何从HTA打开默认web浏览器中的链接一样?,但有一个限制,链接位于iframe内。
iframe在我们的服务器上加载一个页面。
思路:iframe的重定向是否可以被检测到&阻止,然后我们运行类似https://stackoverflow.com/a/185581/66372的代码。如何?
更新1 需要明确的是:我们要解决的问题是,当用户单击任何链接时,它会在默认浏览器中打开。
与mplungjan的答案类似的一个选项是捕获iframe DOM中所有链接的单击事件。是否有一个更通用的选项,在iframe,文档或正文级别工作?(因此也适用于延迟加载和其他技巧)
像这样的东西,应该完全允许在一个具有高级权限的HTA
window.onload=function() {
window.frames["iframe_in_this_document"].onload=function() {
var links = this.document.getElementsByTagName("a");
for (var i=0;i<links.length;i++) {
url = links[i].href;
if (url) links[i].onclick=function() {
var shell = new ActiveXObject("WScript.Shell");
shell.run(this.href);
return false;
}
}
}