通过url执行javascript

时间:2014-02-22 11:42:51

标签: javascript

我正在尝试通过执行类似下面的javascript来设置textarea的值:

javascript:alert(document.getElementsByClassName('uiTextareaNoResize uiTextareaAutogrow _1rv DOMControl_placeholder')[0].value='blabla');

如果我手动将代码输入目标页面的地址栏,这是有效的,但我想通过链接传递这个参数..即...

<a href="/nextpage.php?javascript:alert(document.getElementsByClassName('uiTextareaNoResize uiTextareaAutogrow _1rv DOMControl_placeholder')[0].value='blabla');"

只是想知道这样的事情是否可行?

2 个答案:

答案 0 :(得分:0)

您可以通过URL发送参数,就像您对GET请求一样。然后让接收页面解析location.search

例如,您可以像这样发送:

http://example.com/?arg1=foo&arg2=bar

接收页面有这样的脚本:

var queryString = location.search; //?arg1=foo&arg2=bar

您必须手动解析它,删除?,按&拆分,然后按=

拆分

答案 1 :(得分:0)

这称为XSS或跨站点脚本,并且正如许多评论已经指出的那样,这是一个安全问题。这就是大多数主流浏览器不允许的原因。 但是,我相信有些浏览器确实允许它,例如Opera - 虽然我不记得究竟是哪个版本。 如果您想制作自己的“浏览器”,我建议使用C#.Net WebBrowser,然后使用运行时包XULRunner(https://developer.mozilla.org/en-US/docs/Mozilla/Projects/XULRunner)。

尽管如此,我不建议做任何可能违反当前法律规定的事情,或做任何令网站所有者不满的事情。