代码之家  ›  专栏  ›  技术社区  ›  D. Pardal

“javascript:”uri协议用文本替换整个页面

  •  1
  • D. Pardal  · 技术社区  · 6 年前

    所以,我想 javascript: 链接一些代码,比如 a="foo" . 我试过用 javascript:a="foo" 但它不起作用。而不是改变VaR a "foo" 它将整个页面替换为 foo 喜欢 document.write 出于某种原因。

    我也尝试了对URI进行编码,但都没有。 javascript:a%3D%22foo%22 也不 javascript:%61%3D%22%66%6F%6F%22 工作。

    因为调用函数 javascript:alert("Hello World!") 工作,我跑了 javascript:a=String("foo") 也没有任何运气。使用 javascript:var%20a="foo" 不过,也有效果 javascript:a=123 ,但它对我不起作用,因为我的最终目标是更改对象中的属性。

    有什么办法可以避免这种情况吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   bigless    6 年前

    在dom属性内部内联设置变量不是很好的做法,但是如果必须这样做:

    <a href="javascript: void(a='foo')">Link</a>
    

    <a href="javascript: void(0)" onclick="a='foo'">Link</a>