因此,我正尝试使用诸如javascript:
之类的代码建立一个a="foo"
链接。我尝试使用javascript:a="foo"
,但是没有用。出于某种原因,它没有将变量a
更改为"foo"
,而是像foo
一样将整个页面替换为document.write
,就像javascript:a%3D%22foo%22
。
我也尝试对URI进行编码,但是javascript:%61%3D%22%66%6F%6F%22
和javascript:alert("Hello World!")
都不起作用。
由于调用javascript:a=String("foo")
之类的函数有效,因此我运行了javascript:var%20a="foo"
,也没有运气。尽管使用javascript:a=123
和{{1}}一样有效,但是对我来说无效,因为我的最终目标是更改对象的属性。
有什么办法可以避免这种情况?
答案 0 :(得分:1)
在DOM属性中内联设置变量不是一个好习惯,但是如果必须这样做:
<a href="javascript: void(a='foo')">Link</a>
或
<a href="javascript: void(0)" onclick="a='foo'">Link</a>