gpt4 book ai didi

javascript - 无法在 IE 中执行本地脚本

转载 作者:太空宇宙 更新时间:2023-11-04 14:03:22 24 4
gpt4 key购买 nike

我为 IE8 创建了一个浏览器帮助对象,以便运行位于我计算机上的 javascript。就像浏览器扩展在其他浏览器中工作一样。我正在尝试执行以下代码:

    IHTMLWindow2* pWindow;
doc->get_parentWindow(&pWindow);

hr = pWindow->execScript((BSTR)"var d=window.document,\
s=d.createElement('script'),\
h=d.getElementsByTagName('body')[0];\
s.src='file:///L:/prg/Web/ieplugin/ieplugin.js';\
h.appendChild(s);",
(BSTR)"JavaScript", &vResult);

但是结果是E_INVALIDARG,这很有可能是脚本地址造成的。是否可以在不降低 Internet 区域安全设置的情况下从我的计算机运行脚本?我尝试将受信任站点的安全设置设置为最低并添加到受信任站点“file://localserver”,但无济于事。

编辑:更具体地说,我在 IE 窗口中收到以下错误消息:

Message: Invalid character

Line: 1

Char: 1

Code: 0

URI: file:///L:/prg/Web/ieplugin/ieplugin.js

最佳答案

Internet Explorer 不允许在非 File://传递的页面中使用 file://协议(protocol) URI。此更改于 2011 年进行,仅适用于 INTERNET 和 RESTRICTED ZONE 站点。

参见 http://blogs.msdn.com/b/ieinternals/archive/2011/08/12/internet-explorer-9.0.2-update-changes-file-protocol-and-cookie-naming.aspx了解详情。

要解决此问题,请让您的扩展程序将目标脚本的内容加载到 BSTR 中,然后使用该 BSTR 传递到 execScript 中。

关于javascript - 无法在 IE 中执行本地脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18169469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com