是否可以在不禁用JavaScript的情况下禁用AJAX?是否可以在不禁用JavaScript的情况下禁用AJAX?
回答
如果您使用的是Firefox,你可以用的GreaseMonkey做到这一点。 (https://addons.mozilla.org/en-US/firefox/addon/748)
GM是一个将脚本应用到您访问的部分或全部网页的框架。我有通用汽车脚本禁用谷歌分析下载(因为他们放慢速度),并禁用谷歌结果页上的谷歌点击跟踪(因为它困扰我,他们这样做)。
这里是我的谷歌单击禁用脚本:
// ==UserScript==
// @name Google Clk
// @namespace googleclk
// @description Disable Google click tracking
// @include http://*google.com/*
// ==/UserScript==
// Override google's clk() function, which reports all clicks back to google
unsafeWindow.clk = function(url) {} // { alert(url); } // I use this to test.
这样做使用XMLHttpRequest(和其他功能)类似的东西,你可以有效地禁用它们。当然,你可以通过这样做彻底打破页面,但你已经知道这一点。
号AJAX只是一个特定的JavaScript的使用。
如果您可以阻止特定功能回拨到服务器,您可能可以这样做,但您可能需要编辑您的浏览器。
我假设你想从客户端做到这一点...你可以列出一些更具体的目标是什么?预期的结果是什么?
AJAX是简单的Javascript了XMLHttpRequest函数的用法。根据您的浏览器,您可以通过安全设置锁定对此功能的访问权限。 至少在Firefox中,您可以通过使用自定义扩展来禁用它。
没有比你可以禁用任何其他功能更多 - 可能会发现一些可能会干扰或破坏JavaScript的杂凑或黑客,但我们希望不要找到这样的漏洞。
我会在黑暗中进行狂野的刺探,并猜测您试图阻止某些类型的不可信用户输入中的Ajax?在这种情况下,最好的办法是避免通过提及Ajax来过多指定搜索参数,而是搜索'sanitize javascript','user javascript safe'......这样的事情。
可以更换浏览器的工具,自己什么也不做,使AJAX(XMLHttpRequest对象)。
XMLHttpRequest = function(){}
XMLHttpRequest.prototype = {
open: function(){},
send: function(){}
}
确保您的替换代码在任何AJAX调用之前执行。
这适用于任何通过XMLHttpRequest对象实现AJAX但不适用于IE的浏览器。对于IE,如果可能的话,你可能必须重载CreateObject()函数...
除了Firefox的建议,你可以在IE中做它作为禁用ActiveX的副作用。同样在IE7 +上,你必须禁用'Native XMLHttpRequest'选项。
这是已经被回答的问题一晚发表评论,但对于人们从谷歌进入的好处:
随着Tab Permissions Firefox扩展,你可以为特定的标签禁用JavaScript的(而不是通过右键单击上下文菜单,可以在全局范围内使用所有选项卡)我配置了“权限”菜单项以切换“重定向”和“JavaScript”,因此如果我偶然发现恼人的刷新和AJAX页面,我可以快速轻松地关闭不当标签的带宽活动,而不会影响JavaScript在我的其他公开标签上。
在IE中,可以通过以下方式完成:工具 - > Internet选项 - >高级选项卡 - >向下滚动到安全性 - >取消选中“启用本机XMLHTTP支持”。
http://msdn.microsoft.com/en-us/library/ms537505%28v=vs.85%29.aspx
- 1. 是否可以在RichFaces中禁用AJAX?
- 2. 是否可以从JavaScript内禁用JavaScript?
- 3. 禁用输出转义=是未在以下情况下
- 4. 是否可以在不使用Rails的情况下使用FactoryGirl?
- 5. 是否可以禁用Controls:HoverButton?
- 6. 是否可以在不使用JavaScript API的情况下调用getPanoramaByLocation?
- 7. 如何在不禁用WIFI的情况下启用/禁用iphone celular网络
- 8. 是否可以在不拖放的情况下使用Linq-SQL?
- 9. JavaScript - 是否可以在不使用OR的情况下在一种情况下检查多个工作日?
- 10. 禁用用户在某些情况下离开页面(javascript)
- 11. 在不禁用uibuttons的情况下在uiscrollview中启用backgroundTap
- 12. 如何在不禁用LAN网络的情况下禁用Internet连接
- 13. 在这种情况下可以使用javascript而不是java吗?
- 14. 是否可以在不禁用组合框选项的情况下取消选择?
- 15. 是否可以在不停止cassandra服务的情况下禁用客户端请求(cqlsh)给cassandra?
- 16. 默认情况下禁用Telerik图例
- 17. 是否可以使用Puppeteer禁用Websocket?
- 18. 是否可以禁用D的GC?
- 19. 是否可以禁用RESTEasy的RoleBasedSecurityFilter.java?
- 20. 以下代码是否禁用ASLR?
- 21. 在不更改外观的情况下禁用组合框
- 22. 在不禁用插件的情况下移除按钮
- 23. 在不改变其透明度的情况下禁用按钮
- 24. 如何在不更改源代码的情况下禁用TLSv1?
- 25. 如何在不隐藏iOS的情况下禁用键盘?
- 26. 在不触摸硬件的情况下禁用互联网
- 27. 如何在不隐藏标签的情况下禁用JButton?
- 28. 是否可以在没有FOSUserBundle的情况下使用FOSCommentBundle?
- 29. 是否可以在没有log4j的情况下使用perf4j?
- 30. 是否可以在没有jQuery的情况下使用Materializecss?
手册滴注指令:http://wiki.greasespot.net/Greasemonkey_Manual:Installing_Scripts – user956584 2012-12-09 19:33:13
Chrome专用的等效扩展名是[Tampermonkey](https://chrome.google.com/webstore/detail/ tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo) – 2014-06-19 08:01:58