2012-01-11 51 views
2

有没有办法用javascript和/或jQuery按下外部网站上的按钮?就像我打开一个新的窗口,像这样:使用javascript按钮在外部网站上的按钮

windowObjectReference = window.open("http://some_site.html","name"); 

然后,我想按本网站上的一个按钮。事情是这样的:

windowObjectReference.button.click(); 

或者:

name.button.click(); 

回答

5

这将是一个巨大的安全违规,如果浏览器将让你这样做从放置在自己的网站上的脚本。

因此,不,这是不能做到的,不应该是可能的

但是......

如果它们都属于你(你可以访问他们的代码),你可以传递参数(例如,URL作为一个哈希表),则目标网站可以读取它会触发你提到的事件(name.button.click())。

+0

,你不会那样做排在首位,而'window.open '会给你另一个窗口对象。 https://developer.mozilla.org/en/DOM:window.open所以没有必要搞乱散列。 – greut 2012-01-11 11:26:02

+1

@greut:如果这两个网站都属于你并且他们拥有不同的域名,那么你是否真的能够访问该窗口的内容?问题是关于_external site_,我把它理解为域之外的东西。 – Tadeck 2012-01-11 11:31:40

+0

我知道我可以通过window.open()访问同一个域,但问题是关于不同的域。所以感谢哈希建议,我会尝试一下。 – user1142908 2012-01-11 11:44:00

2

您无法使用JavaScript从网页执行此操作。 虽然你可以从浏览器扩展中完成。

+0

谢谢,你有任何特定的浏览器和扩展?我想Firefox。 – user1142908 2012-01-11 11:08:03

+0

几乎所有的浏览器。我在Chrome中使用“空白画布脚本处理程序”,Opera支持开箱即用的用户脚本,Firefox需要一个名为GreaseMonkey的插件。 – DenisPostu 2012-01-11 11:34:23

+0

这是我一直在寻找的解决方案。非常感谢你。 – user1142908 2012-01-11 13:00:33

1

不!

出于安全原因。这种攻击称为clickjacking!并在Twitter上使用。

+0

我没有意识到,从来没有听说过clickjacking,名字听起来很有趣,虽然:) – user1142908 2012-01-11 11:09:09

1

有没有一种方法可以用javascript 和/或jquery按下外部网站上的按钮?

我知道我迟到了,但YES,不幸的是,这是一个非常简单的方法。

  1. 在您的页面上创建div(例如#externalDiv);
  2. 将CSS属性设置为隐藏并显示为无;
  3. 使用(简单方法)使用jQuery方法.load()或使用自己的JS方法使用XMLHttpRequest();
  4. 在您的页面上加载外部页面;
  5. 点击按钮,你希望

    $( '#externalDiv')负载( 'http://www.externalPage.com',函数(){$( '#externalPageButtonId')点击();});

不能由总督的东西,如果您不知道它是如何的,如果第二个网站是属于你的工作:)