阅读:4834回复:15
firefox有办法阻止页面内的JS运行么?
如果是嵌入的js用ABP就可以阻止弹出,但是写在页面内的却不行(不知道是不是我不会写)
然后我用了noscript也找不到禁止页面JS的方法 我就想禁止下面这条 <script> if(adblock){$('#block').modal('show');} </script> 这条是检测是否用ABP的 |
|
1楼#
发布于:2014-05-21 20:40
|
|
2楼#
发布于:2014-05-21 21:27
https://developer.mozilla.org/en-US/docs/Web/Reference/Events/beforescriptexecute
检查 target 的 innerHTML 决定是否 preventDefault |
|
|
3楼#
发布于:2014-05-23 21:29
|
|
4楼#
发布于:2014-05-23 21:29
|
|
5楼#
发布于:2014-05-23 22:28
用ujs的方式阻止页面内嵌javascript运行
|
|
|
6楼#
发布于:2014-05-29 16:53
|
|
7楼#
发布于:2014-05-29 17:23
我记得noscript可以阻止包括页面js在内的所有script啊……
|
|
|
8楼#
发布于:2014-05-29 18:40
白左:我记得noscript可以阻止包括页面js在内的所有script啊……回到原帖但是不能只阻止页面中的某些js 要么全部阻止 要么全部许可 利用监听 beforescriptexecute 事件的方法应该可以做到定点清除 其实顶楼那个未必真的需要做到这一步 可能只需要元素过滤掉#block就好? 或者利用 yarip 来直接修改页面 html 代码去除这部分也行 |
|
|
9楼#
发布于:2014-05-29 19:00
|
|
10楼#
发布于:2014-05-29 20:24
|
|
|
11楼#
发布于:2014-05-30 08:43
|
|
|
12楼#
发布于:2014-05-30 19:22
参考 http://stackoverflow.com/a/10468821 这个脚本,自己添加规则
或者更简化的 // ==UserScript== // @name blabla // @namespace blabla // @include blabla // @grant none // @run-at document-start // ==/UserScript== document.addEventListener("beforescriptexecute", function(e){ if (/if\(adblock\){\$\('#block'\)\.modal\('show'\);}/.test(e.target.textContent)) { e.preventDefault(); return false; } }, true); |
|
|
13楼#
发布于:2014-06-02 21:56
因为过节去了,好久没来论坛
今天一看 好多方法可以用,我先一个个试用,然后把结果来报告 |
|
14楼#
发布于:2014-06-03 00:19
|
|
上一页
下一页