在 HTA 应用程序中打开网站

Posted

技术标签:

【中文标题】在 HTA 应用程序中打开网站【英文标题】:Open a Website in HTA application 【发布时间】:2016-07-11 16:54:53 【问题描述】:

所以,我有这个本地的小网站,就是你打开路由器配置时打开的网站。即192.168.0.1。我们为路由器进行设置的那个。我需要非常频繁地打开该网站以打开和关闭无线,而且我必须通过浏览器来完成。这是一个繁重的过程,所以我决定切换到一键式 HTA 应用程序,这使得工作非常快速。 问题是,每当该网站的主屏幕打开时,您必须在其中输入路由器密码,输入正确的密码后,HTA 中的网站不会像在浏览器中那样重定向到“首选项”页面。它停留在登录页面,我不知道是否必须在我的 HTA 中添加一些额外的代码。请帮忙。

下面是代码。

<html>
    <head> 
    </head> 
    <body> 
        <iframe src="http://192.168.0.1"  > 
    </body> 
</html>

【问题讨论】:

IFrame event executes fine in HTML but not in HTA的可能重复 【参考方案1】:

因为 HTA 可能带来访问的安全风险 通过&lt;iframe&gt; 标记的URL 被锁定,但您可以通过添加application="yes" 属性告诉引擎&lt;iframe&gt; 是受信任的。

引自Introduction to HTML Applications (HTAs)章节:信任的力量:HTA 和安全


HTA 的设计使得不受信任的 HTML 框架和 iframe 对象无法通过脚本访问包含它们的 HTA。对于未启用 HTA 的框架对象,***别的框架包括其包含的所有框架对象的顶部窗口。对于该框架对象,window.top 和 window.self 属性是相同的。此外,不安全的框架和 iframe 对象既不接收来自父 HTA 的引荐来源网址,也不接收开启者 URL。最终结果是他们不知道包含 HTA 作为父窗口。

使用问题中的示例;

<html>
    <head>
        <HTA:APPLICATION
            APPLICATIONNAME="Test"
            ID="TestApp"
            VERSION="1.0"/>
    </head> 
    <body> 
      <iframe src="http://192.168.0.1"   application="yes"> 
    </body> 
</html>

有用的链接

Introduction to HTML Applications (HTAs)

【讨论】:

感谢您的努力,但这也没有用。上面代码发生的情况是,当我打开 HTA 时,它同时也打开了 IE 和其中的“192.168.0.1”。而且HTA中的网站仍然无法正常工作。如果您需要,我可以拍摄整个视频并给您链接。 @krrish 如果您实施错误,我向您保证这是在受信任的 MSHTA 应用程序中加载 &lt;iframe&gt; 中的内容的修复程序。只是为了让您知道 IE 不应该单独打开,只需按照答案中的链接正确构建 HTA。它还取决于路由器页面的工作方式,如果它打开一个您无法控制的弹出窗口,那么使用 HTA 或网页都无法绕过它。 如果您将默认浏览器设置为您自己创建的应用程序,该应用程序可以处理对其的调用并根据地址启动 MSHTA 或您的实际浏览器。如果它检测到地址是 192.168.0.1,它将打开您创建的 HTA 应用程序,否则它将启动您的实际浏览器。【参考方案2】:

尝试在 HTA:APPLICATION 标记中添加此属性:

NAVIGABLE="是"

另外,保持 application = "No"

【讨论】:

以上是关于在 HTA 应用程序中打开网站的主要内容,如果未能解决你的问题,请参考以下文章

HTA 文件保存对话框而不是打开对话框

百科知识 hta文件如何打开

我的网站无法在 Facebook 应用内浏览器中打开

在 UIWebView 中作为 Safari 打开网站?

在 Safari 中打开其他网站的 WKWebView 链接

今天下载了一个后缀为.hta的文件