如果我转到this页面,然后从浏览器的地址栏中删除该网址,然后输入
javascript:document.getElementById('rsidebar').value='dsf';
整个部分刷新。如何在从地址栏执行javascript时阻止页面刷新?
此外,是否有其他技术可以操作页面而无法像上述方法那样访问页面源?
答案 0 :(得分:10)
不,你无法阻止用户操纵DOM。
您无需担心人们从客户端操纵DOM。这些变化只会影响他们的本地体验。它们实际上并不会影响其他用户的网站。
您可以使用Firebug,IEDeveloperToolbar或Greasemonkey(Javascript引擎)等工具轻松操作DOM。
答案 1 :(得分:7)
javascript:stuff();
和stuff()
生成返回值时,整个页面将被替换。您可以使用javascript:void(stuff());
或javascript:stuff();void(0);
答案 2 :(得分:0)
对于Q1:我认为这是不可能的,因为浏览器在其自己的“沙盒”中运行每个网站
对于Q2:我相信Firebug会让您在任何网页上执行javascript ...
答案 3 :(得分:0)
问题1:正如早先的回应者所说,你无能为力,我不认为。
问题2:查看bookmarklets,通过针对来自各个网站的网页运行您自己的JavaScript,可以完成一些非常酷的事情。人们已经编写了书签来突出页面上的内容,在新窗口中打开的链接旁边放置警告指示器,或者转到aPDF等。