停止执行Javascript函数(客户端)或调整它
我想停止执行站点中的一行,以便浏览器可以读取除该行之外的整个页面。或者浏览器可能只是跳过该javascript函数的执行 或 有没有办法调整javascript,使javascript中的随机数生成函数不会生成随机数,而是生成我想要的数字停止执行Javascript函数(客户端)或调整它,javascript,greasemonkey,Javascript,Greasemonkey,我想停止执行站点中的一行,以便浏览器可以读取除该行之外的整个页面。或者浏览器可能只是跳过该javascript函数的执行 或 有没有办法调整javascript,使javascript中的随机数生成函数不会生成随机数,而是生成我想要的数字 我无法访问脚本所在的站点,因此所有这些都需要在客户端完成。您可以使用所谓的bookmarklet 构建要在其他站点上运行的js文件:your.js 使用以下代码创建HTML页面: <html> <body> <a href="
我无法访问脚本所在的站点,因此所有这些都需要在客户端完成。您可以使用所谓的bookmarklet 构建要在其他站点上运行的js文件:
your.js
使用以下代码创建HTML页面:
<html>
<body>
<a href="javascript:(function(){var s=document.createElement('SCRIPT');s.src='/url/to/your.js?'+(Math.random());document.getElementsByTagName('head')[0].appendChild(s);})()">
Drag'n Drop this to your bookmarks
</a>
</body>
</html>
将/url/to/your.js
替换为js文件的路径
在浏览器中加载该小页面,然后将链接拖放到书签栏
转到您想要破解的网站,单击刚刚创建的书签。这将在页面中加载
your.js
,并运行代码
注意:
?”+(Math.random())
部分是为了避免缓存js,这不是强制性的,但在开发.js时会很有帮助,您可以使用所谓的bookmarklet
构建要在其他站点上运行的js文件:your.js
使用以下代码创建HTML页面:
<html>
<body>
<a href="javascript:(function(){var s=document.createElement('SCRIPT');s.src='/url/to/your.js?'+(Math.random());document.getElementsByTagName('head')[0].appendChild(s);})()">
Drag'n Drop this to your bookmarks
</a>
</body>
</html>
将/url/to/your.js
替换为js文件的路径
在浏览器中加载该小页面,然后将链接拖放到书签栏
转到您想要破解的网站,单击刚刚创建的书签。这将在页面中加载
your.js
,并运行代码
注意:
?'+(Math.random())
部分是为了避免缓存js,这不是强制性的,但在开发你的.js
时会很有帮助。答案取决于没有提供的细节(确切的页面和代码行最好),但一般情况下你是这样做的:
DOMContentLoaded
之后触发),则可以使用Greasemonkey替换有问题的代码。例如:
var scriptNode = document.createElement ("script");
scriptNode.textContent = "Your JS code here";
document.head.appendChild (scriptNode);
完成了首先,获取脚本的副本并对其进行所需的更改。在本地保存此文件
答案取决于未提供的详细信息(确切的页面和代码行最好),但以下是您通常的操作方式:
如果有问题的JS代码没有立即触发(在DOMContentLoaded
之后触发),则可以使用Greasemonkey替换有问题的代码。例如:
var scriptNode = document.createElement ("script");
scriptNode.textContent = "Your JS code here";
document.head.appendChild (scriptNode);
完成了
如果JS代码立即触发,那么它会变得更复杂。
首先,获取脚本的副本并对其进行所需的更改。将其保存在本地
违规脚本是在文件中还是在主页HTML中(Firefox当前支持(截至)——
通过这次活动,Firefox和Greasemonkey现在似乎在拦截特定的
标记方面做得很好
这对于Chrome+Tampermonkey仍然是不可能的。对于Firefox+Greasemonkey以外的任何东西,您都需要使用下面其他答案中所示的技术来编写完整的浏览器扩展
封装它。例如,假设页面有一个
标记,如下所示:
<script>
alert ("Sorry, Sucka! You've got no money left.");
</script>
为了得到更好的信息。(^ ^)
有关更多信息,请参阅checkForBadJavascripts中的内联文档
要查看完整脚本中的演示,请首先访问。您将看到3行文本,其中两行由JS添加
现在,(;也在下面。)重新访问页面。你会看到GM脚本删除了一个坏标签,并用我们的“好”JS替换了另一个
——请注意,只有Firefox支持beforescriptexecute
事件。它已从HTML5规范中删除,但没有指定等效功能
完整的GM脚本示例(与GitHub和jsBin的示例相同):
鉴于此HTML:
<body onload="init()">
<script type="text/javascript" src="http://jsbin.com/evilExternalJS/js"></script>
<script type="text/javascript" language="javascript">
function init () {
var newParagraph = document.createElement ('p');
newParagraph.textContent = "I was added by the old, evil init() function!";
document.body.appendChild (newParagraph);
}
</script>
<p>I'm some initial text.</p>
</body>
Firefox目前支持(截至)——
通过这次活动,Firefox和Greasemonkey现在似乎在拦截特定的
标记方面做得很好
这对于Chrome+Tampermonkey仍然是不可能的。对于Firefox+Greasemonkey以外的任何东西,您都需要使用下面其他答案中所示的技术来编写完整的浏览器扩展
封装它。例如,假设页面有一个
标记,如下所示:
<script>
alert ("Sorry, Sucka! You've got no money left.");
</script>
为了得到更好的信息。(^ ^)
有关更多信息,请参阅checkForBadJavascripts中的内联文档
要查看完整脚本中的演示,请首先访问。您将看到3行文本,其中两行由JS添加
现在,(;也在下面。)重新访问页面。你会看到GM脚本删除了一个坏标签,并用我们的“好”JS替换了另一个
——请注意,只有Firefox支持beforescriptexecute
事件。它已从HTML5规范中删除,但没有指定等效功能
完整的GM脚本示例(与GitHub和jsBin的示例相同): 鉴于此HTML:
<body onload="init()">
<script type="text/javascript" src="http://jsbin.com/evilExternalJS/js"></script>
<script type="text/javascript" language="javascript">
function init () {
var newParagraph = document.createElement ('p');
newParagraph.textContent = "I was added by the old, evil init() function!";
document.body.appendChild (newParagraph);
}
</script>
<p>I'm some initial text.</p>
</body>
使用TamperMonkey?您需要在TamperMonkey标题中的
/@grant
下方添加的所有内容都是/@requirehttp://urlofyoursite.com/myfile.js
。例如,下面是我的TamperMonkey内容的顶部:
// ==UserScript==
// @name Project
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://docs.google.com/presentation/*
// @grant none
// @require http://cdnjs.cloudflare.com/ajax/libs/annyang/2.1.0/annyang.min.js
// ==/UserScript==
使用TamperMonkey?您需要在TamperMonkey标题中的
/@grant
下方添加的所有内容都是/@requirehttp://urlofyoursite.com/myfile.js
。例如,下面是我的TamperMonkey想法的顶部: