按照以下步骤操作。
document.all.q.value = "hello"
正如预期的那样,名称为" q" (搜索字段)设置为" hello")。
javascript: document.all.q.value = "hello!"
如果您的浏览器是Internet Explorer或Google Chrome,则javascript将用完全空白的页面替换Google网站,但“#34; Hello"”这个词除外。
现在您已经删除了浏览器,请返回Google.com并重复步骤1 。您应该收到错误消息"未捕获的ReferenceError:文档未定义(...)VM83:1
我做错了吗?还有另一种方法可以使用,同时仍然使用JS输入的地址栏吗?
答案 0 :(得分:1)
javascript:
方案网址的目的是使用JavaScript生成新网页。使用它修改现有页面是一种破解。
document.all.q.value = "hello!";
评估为"hello!"
,因此当您访问该网址时,会生成并加载一个仅由文本hello!
组成的新HTML文档,而不是现有页面。
要避免这种情况:确保JS不返回字符串。您可以使用void
。
javascript:void(document.all.q.value = "hello!");
答案 1 :(得分:-1)
当在地址栏中弄乱javascript:
时,某些(如果不是最多)浏览器会将其作为新页面处理,因此您必须在最后添加window.history.back();
javascript: document.all.q.value = "hello!"; window.history.back();