可以在 IE11 中运行用户脚本

Posted

技术标签:

【中文标题】可以在 IE11 中运行用户脚本【英文标题】:Possible to run userscript in IE11 【发布时间】:2014-09-23 10:03:33 【问题描述】:

我有一个使用 Tampermonkey/Greasemonkey 在 Chrome 和 Firefox 中运行的自定义用户脚本。

有没有办法在 IE11 中使用这个脚本?或者是否有任何 IE11 插件可以完成 Tampermonkey/Greasemonkey 的功能?

【问题讨论】:

【参考方案1】:

TrixIE WPF4.5 声称在 IE11 上模拟 Greasemonkey。

不幸的是,the original Trixie and IE7Pro 停止在 IE8 上工作。

【讨论】:

您的 sourceforge 链接指向具有相似名称的不同项目,适用于 IE11(原始 TrixIE 不适用)【参考方案2】:

一个简单的 Google 搜索(我搜索“greasemonkey for IE”)会产生可用于其他浏览器的各种替代方案:

http://en.wikipedia.org/wiki/Greasemonkey#Equivalents_for_other_browsers

对于 Internet Explorer,IE7Pro、[19] Sleipnir、[20] 和 iMacros 提供了类似的功能。

【讨论】:

该信息自 IE8 以来已过时。此外,Sleipnir 是一个浏览器,而不是 IE 解决方案,iMacros 可以工作,但不兼容 Tampermonkey/Greasemonkey(不过 iMacros 功能更强大)。【参考方案3】:

Fiddler 支持修改 http 请求的响应。 我们可以使用此功能在任何浏览器中加载用户脚本,包括 IE8。

这是一个例子:

static function OnBeforeResponse(oSession: Session) 
    if (m_Hide304s && oSession.responseCode == 304) 
        oSession["ui-hide"] = "true";
    
    // match url
    if (oSession.fullUrl == "http://apply.ccopyright.com.cn/goadatadic/getR11List.do") 
        oSession.utilDecodeResponse();
        var script = System.IO.File.ReadAllText("C:\\GitHub\\@selpic\\P660_printer\\Printer\\scripts\\form-save-load.js")
        oSession.utilReplaceOnceInResponse("</body>", "<script>"+script+"</script></body>", true);
    

文档:Modifying a Request or Response

【讨论】:

【参考方案4】:

我是用localStorage来做的,IE8以上都支持。

步骤:

    当当前窗口位于您希望脚本运行的域中时,在 IE 的开发人员工具中运行以下代码:
var scriptName = 'Hello world';
function scriptBody()
//---userscript starts--->

document.body.innerhtml = '<h1>Hello world!</h1>';

//---userscript ends--->

var script = scriptBody.toString()
  .split('//---userscript starts--->')[1]
  .split('//---userscript ends--->')[0];
localStorage.setItem(scriptName, script);
    创建书签并将网址修改为:
javascript:(function()eval(localStorage.getItem('Hello world'));)()

优点:

不需要额外的插件。 几乎没有脚本文本长度限制。

缺点:

需要用户单击书签才能运行脚本。 如果用户清除浏览器缓存,则需要重新安装。

【讨论】:

这是一个非常好的解决方案。我很高兴成为第一个在应得的情况下给予信用的人。【参考方案5】:

只需打开 开发者工具(按 F12)并将您的脚本粘贴到 Console,然后运行它(Ctrl + Enter)。

【讨论】:

这不是用户脚本通常的用途。

以上是关于可以在 IE11 中运行用户脚本的主要内容,如果未能解决你的问题,请参考以下文章

内容编辑器 webpart 脚本不在 IE 11 中运行(如果开发人员工具打开则运行)

python脚本在Windows中运行的用户是啥? [复制]

如果浏览器是 Internet Explorer:运行替代脚本

win10系统,安装LoadRunner11.00,录制脚本时不能够启动ie。ie版本是ie11。希望各位大神能给予帮助。

GWT - IE 不下载 UiBinder 中包含的外部脚本

如何让浏览器运行javascript代码的?