JavaScript:有没有办法远程启动javascript函数?像onClick一样

时间:2014-03-26 18:35:23

标签: javascript jquery html xmlhttprequest request

我正在寻找一种方法来在远程网页中触发JavaScript事件,而无需在浏览器上打开它。

我的意思是,让我解释一下我的情况: 我现在做的是,我在特定网页上的GreaseMonkey上运行了两个脚本。 第A页的脚本A,第B页的脚本B.

脚本A不断向页面B发送xmlHttpRequests,它获取数据,在reg-exp中处理,并进行一些比较。当我对脚本A的条件满意时,我发送一个window.open打开页面B.

在页面B上,我运行脚本B,脚本B再次检查页面B的内容,查看是否满足脚本A的相同条件,进行双重检查,然后触发我需要的单击事件

问题是,太慢了。我需要优化它。 打开页面B并加载它的内容太慢了,比如很多图像,背景,CSS样式等。加载页面需要几秒钟,精确到5到10秒之间。我需要它在1或2秒内。

有没有办法在第B页上激活JavaScript事件,而不加载第B页的全部内容?

谢谢。

2 个答案:

答案 0 :(得分:0)

我的解决方案可能不完美,但你可以做下一个(就像你在GreaseMonkey上一样)

1- XMLHTTPrequest page B

2-进行比较

3-如果满意,请将您从第一个XMLHTTPrequest获得的innerHTML放入您创建的新div / iframe中并使其不可见

4-在那里你可以将click事件运行到div / iframe

答案 1 :(得分:0)

不可靠。

您可以设置一个节点实例来请求页面,并针对http响应运行服务器端JavaScript,但这不会像在浏览器窗口中运行脚本那样可以与脚本交互页面运行,以及从其他URL中提取的资产。

要在页面上触发事件,必须将其加载到浏览器中。您可以使用Phantom或其他无头浏览器来加快速度。

如果你想要性能和质量超过greasemonkey,我推荐后者。它有点复杂,但如果这是一个持续的比较,将其自动化到后台并远离渲染浏览器似乎是最好的。