从另一个域加载内容的当前最佳实践
我的任务是开发一个项目,我们想要从另一个域加载内容并将其推送到我们页面中的 id 中。
通常,我会说有一个代理脚本来处理这个问题,但我很好奇是否有更好的解决方案。也许更好的方法是在其他服务器上包含仅 document.writes 其他内容的页面?
当前是否有更好的解决方案支持 IE7+ 和 FF3+? YQL sol'ns 支持 IE 吗?
编辑
这是一个混合 RoR / PHP 服务 - 这部分是 PHP。 HttpHandler 看起来不错 - 有点像使用 file_get_contents 的本地代理,但具有一些额外的功能。
Re document.writing out html - 这是我倾向于的方式,因为 JSONp 可能会给技能范围很大的最终开发人员带来麻烦。我这样做会疯吗(好吧,更疯狂)?!
谢谢
I'm tasked with working on a project where we want to laod content from another domain and push it into an id in our page.
Normally, I'd say have a proxy script to handle this but am curious if there is a better sol'n. Perhaps better to include page on other server that just document.writes out other content?
Is there a better current sol'n supporting say IE7+ and FF3+? Do YQL sol'ns support IE?
EDIT
It's a mixed RoR / PHP service - this section is PHP. HttpHandler looks good - kinda like a local proxy using file_get_contents but with some extra functionality.
Re document.writing out html - this is the way I'm leaning torwards as JSONp might introduce headaches to end developers who will range greatly in skill set. Would I be insane to do this (ok, more insane)?!
thx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不知道您正在使用什么服务器端代码,但是过去我在 asp.net 中使用过 http 处理程序。 Dave Ward 在这方面做了一个很好的教程。
http://encosia.com/use- asp-nets-httphandler-to-bridge-the-cross-domain-gap/
这很好,因为它不会经历整个页面生命周期,因此它比添加提供服务的页面更快通过response.write获取数据。
I don't know what server side code you are using but, in the past I've used an http handler in asp.net. Dave Ward did a good tutorial on this.
http://encosia.com/use-asp-nets-httphandler-to-bridge-the-cross-domain-gap/
This is good because it doesn't go through the entire page life cycle, so it is quicker than adding a page that serves up the data through response.write.
当前的最佳实践是使用 jsonp 服务,如果您可以控制其他域。如果不这样做,那么您最好在自己的域上设置代理服务。
Current best practice would be to use a jsonp service, if you have control over the other domain. If you don't, then you're probably best off setting up a proxy service on your own domain.