有没有办法用javascript和/或jQuery按下外部网站上的按钮?就像我打开一个新的窗口,像这样:使用javascript按钮在外部网站上的按钮
windowObjectReference = window.open("http://some_site.html","name");
然后,我想按本网站上的一个按钮。事情是这样的:
windowObjectReference.button.click();
或者:
name.button.click();
有没有办法用javascript和/或jQuery按下外部网站上的按钮?就像我打开一个新的窗口,像这样:使用javascript按钮在外部网站上的按钮
windowObjectReference = window.open("http://some_site.html","name");
然后,我想按本网站上的一个按钮。事情是这样的:
windowObjectReference.button.click();
或者:
name.button.click();
这将是一个巨大的安全违规,如果浏览器将让你这样做从放置在自己的网站上的脚本。
因此,不,这是不能做到的,不应该是可能的。
但是......
如果它们都属于你(你可以访问他们的代码),你可以传递参数(例如,URL作为一个哈希表),则目标网站可以读取它会触发你提到的事件(name.button.click()
)。
您无法使用JavaScript从网页执行此操作。 虽然你可以从浏览器扩展中完成。
谢谢,你有任何特定的浏览器和扩展?我想Firefox。 – user1142908 2012-01-11 11:08:03
几乎所有的浏览器。我在Chrome中使用“空白画布脚本处理程序”,Opera支持开箱即用的用户脚本,Firefox需要一个名为GreaseMonkey的插件。 – DenisPostu 2012-01-11 11:34:23
这是我一直在寻找的解决方案。非常感谢你。 – user1142908 2012-01-11 13:00:33
不!
出于安全原因。这种攻击称为clickjacking!并在Twitter上使用。
我没有意识到,从来没有听说过clickjacking,名字听起来很有趣,虽然:) – user1142908 2012-01-11 11:09:09
由于SOP,您不允许这样做。任何trick to force user to perform click on your behalf将被视为点击劫持攻击,并可能导致不良后果。
有没有一种方法可以用javascript 和/或jquery按下外部网站上的按钮?
我知道我迟到了,但YES,不幸的是,这是一个非常简单的方法。
点击按钮,你希望
$( '#externalDiv')负载( 'http://www.externalPage.com',函数(){$( '#externalPageButtonId')点击();});
不能由总督的东西,如果您不知道它是如何的,如果第二个网站是属于你的工作:)
,你不会那样做排在首位,而'window.open '会给你另一个窗口对象。 https://developer.mozilla.org/en/DOM:window.open所以没有必要搞乱散列。 – greut 2012-01-11 11:26:02
@greut:如果这两个网站都属于你并且他们拥有不同的域名,那么你是否真的能够访问该窗口的内容?问题是关于_external site_,我把它理解为域之外的东西。 – Tadeck 2012-01-11 11:31:40
我知道我可以通过window.open()访问同一个域,但问题是关于不同的域。所以感谢哈希建议,我会尝试一下。 – user1142908 2012-01-11 11:44:00