加载不同站点后执行javascript
我需要编写一个网络应用程序,它将检查网站是否包含元素(例如带有 id="iamhere" 的 div)。该站点可以是任何站点,它与我的脚本不在同一域中。我想过做类似的事情:
- 转到我的网站,加载 javascript 库。
- 加载其他站点。
- 执行我的功能。
这似乎是不可能的 - 我是对的吗(脚本执行在 window.location.assign() 之后停止,并且无法将脚本标签“绑定”到站点的 DOM)? 有谁有想法,如何让它发挥作用?我知道我可以使用 yql,但也许有更好的解决方案。
I need to write a webapp, that will check if site contains an element (e.g div with id="iamhere"). This site can be any site, it's not in the same domain that my script is. I thought about doing something like:
- Go to my site, load javascript library.
- Load the other site.
- Execute my function.
This seems to be impossible - am I right (script execution stops after window.location.assign() and there's no way to "bind" a script tag to site's DOM)?
Does anybody has an idea, how to make it work? I know I could use yql, but maybe there's better solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查看 JavaScript 的 setTimeout() 函数。您可以定期检查任何内容的准备情况,如下所示:
Check out JavaScript's setTimeout() function. You can periodically check the readiness of whatever with something like this:
您将需要使用脚本语言来获取站点以充当代理。我将在本例中使用 PHP:
当需要填充 div 时 - 您可以使用 javascript 来执行此操作。如果你使用 jQuery,它会看起来像这样:
You will need to fetch the site with a scripting language to act as a proxy. I'll use PHP in this example:
When necessary to populate the div - you can do so with your javascript. If you're using jQuery it would look something like this:
我会使用 YQL。
替换最后2个查询字符串参数并检查json结果。
例子:
I'd use YQL.
Replace the last 2 query string parameters and check the json result.
Example: