2010-03-02 35 views
0

这是一个伟大的大混乱...如何包含来自外部网站的内容?

我知道我可以使用iframe,但问题是,有一些跨站点的限制,结束了我想要做的事情。即,源内容是允许滚动的固定高度div,但没有滚动条。如果我将它加载到iframe中,它不会有相同的效果。它要么坚持有一个滚动条,要么根本不滚动。我一直在试图找到一种解决方法,但目标服务器没有PHP可用,所以我平坦坚持如何做到这一点...

在源服务器上,我试着写的所有内容到PHP变量是这样的:

<script type="text/javascript"> 
var mycontent = '<?php print $content; ?>'; 
</script> 

,然后调用该变量在我的test.js文件,当我使用提醒,我得到的文本(也源服务器上) ,像这样:

var content = mycontent; 
alert(content); 

它的工作,但不是从第目标服务器。因此,在目标服务器上,如果我使用:

<script src="http://mysite.com/test.js"></script> 

,并尝试使用:

<script type="text/javascript">document.write('content');</script> 

它不会打印出任何东西了...我假设,因为跨站点的限制?我迫切需要一个解决方法......任何人都可以帮忙吗?

回答

0

制作一个服务器端 XHR请求,抓取内容并在您的页面投放时包含它。

0

它应该是非常清楚可能做

<script type="text/javascript" src="http://mysite.com/test.js"></script> 

,并在JavaScript中,没有<script type....,做

document.write('blah'); 
document.write('blah'); 
document.write('blah'); 
document.write('blah'); 
document.write('blah'); 

这将正常工作跨域。我认为你的问题是你将<script>标签嵌入到js文件中,这是错误的。这些东西会在Firefox的错误控制台中作为语法错误弹出,这是开发JavaScript时非常宝贵的工具。

这种方法的缺点是:如果服务JS的目标服务器关闭,则嵌入脚本的文档呈现将会延迟。

+1

不同之处在于,您可能需要“内容”变量,而不是“内容”文字字符串。 – nickf 2010-03-02 16:00:14

+0

js没有

  • 11. 如何知道目标网站是否包含私人内容?
  • 12. 动态网页(Javascript) - 监控来自外部的内容
  • 13. rdoc文件如何包含来自本地txt的内容
  • 14. php包含外部网址
  • 15. 如何在移动网站中嵌入外部内容?
  • 16. 如何修改我的网站,使其包含内容的可变容器?
  • 17. 包含外部网页的一部分
  • 18. 如何在当前网页上呈现来自外部网站的网页?
  • 19. 如何包含外部库?
  • 20. 如何在外部网站
  • 21. 如何在外部网站
  • 22. 允许来自我的内部网之外的特定用户访问网站
  • 23. 如何将Drupal内容嵌入到外部网站上的小部件中?
  • 24. 如何使用其他网站内容自动更新网站?
  • 25. 如何在我的网页上显示来自外部网站的特定div
  • 26. 来自外部网页浏览器的网站404错误
  • 27. 在我的aspx页面显示外部网站,并包含自己的javascript
  • 28. jScrollPane使用包含外部网站的iframe
  • 29. 检查tweet是否包含指向外部网站的链接
  • 30. 从XIB加载UITabBarController不包含任何来自XIB的内容