我有一个Web应用程序的想法,我有一些JavaScript的麻烦。
假设应用程序需要获取客户端的网站URL,显示它(在iframe或其他内容中)。然后它应该能够使用Javascript临时调整其设计,我假设它被称为Javascript注入。 (类似于浏览器的开发人员工具可以做的事情。)
所以问题是:这是跨域JavaScript吗?如果是,我可以使用哪些解决方案? ,最简单的方法是什么?
相关说明:如果用户将某些我的应用程序的javascript代码添加到他们的网站(如某些API如何工作),会有什么帮助,这会有什么帮助。
感谢。
答案 0 :(得分:1)
如果他们将JS包含在他们的页面中,那么JS就会从他们的页面运行,你可以使用standard DOM。
如果不是,则same origin policy会阻止您触摸其网站。
答案 1 :(得分:1)
这是跨域名。所以解决方案:服务器端语言
PHP,ASP.Net,Ruby on Rails等。通过它加载他们的网站然后你可以触摸它,因为它将是你网站上的副本。我会警告你,在使用像CURL这样的库时这可能非常困难(至少在我使用PHP的CURL的经验中)。
答案 2 :(得分:1)
当您熟悉现代Web浏览器的工作原理时,相同的原始政策不适用(IE8 +,当然其他所有浏览器总是领先于IE)
我通过使用postMessage和iframe进行跨浏览器通信,专门解决了这个问题。这种技术适用于IE8 +和所有现代浏览器。此外,请确保您在标题中设置隐私政策,以便在IE中支持第三方Cookie。
如果你去kitgui.com并尝试演示,你可以看到这个有效。你也可以免费使用它。
答案 3 :(得分:0)
您可以使用bookmarklet将您的javascript代码添加到客户的网页。就像firebug lite一样。