我正在尝试将维基百科文章加载到我的网站上。我试图按照这里的说明进行操作:http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Transwiki但我不知所措。
我试过了:
var xyz = document.getElementById(url("http://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Albert_einstein")
var xyz = $('#xyz').load('http://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Albert_einstein');
document.write(xyz);
答案 0 :(得分:1)
您无法通过JavaScript加载来自其他域的内容。 JS security policy阻止了它。
“在计算中,相同的原始策略是许多浏览器端编程语言(如JavaScript)的重要安全概念。该策略允许在源自同一站点的页面上运行脚本 - 方案,主机名和端口号 [1 的组合 - 访问彼此的方法和属性,没有特定限制,但阻止访问不同站点上的页面上的大多数方法和属性。 [1] “- 维基百科,来自W3C
Shazbot建议使用iframe,但不推荐使用iframe。使用对象:
<div class="timeContainer" style="background:#333; color:#090; padding:10px 0;">
<div style="text-align:center; width:100%;">Current Date and Time</div> <!-- Heading, replaceable with hx tag -->
<!--[if IE]>
<object classid="clsid:25336920-03F9-11CF-8FD0-00AA00686F13" data="your.url/" style="width:100%; height:19px;">
<p>backup content</p>
</object>
<![endif]-->
<!--[if !IE]> <-->
<object type="text/html" data="your.url/" style="width:100%; height:19px;">
<p>backup content</p>
</object>
<!--> <![endif]-->
</div> <!-- timeContainer -->
或者,您可以通过PHP使用cURL(如果您的服务器支持它)。我不确定Python,但我认为python也可以使用cURL。
答案 1 :(得分:0)
如果您使用的是现代浏览器,则应该可以使用CORS。根据Wikipedia API文档,您需要传递一个与浏览器发送的origin
标题相匹配的额外Origin
参数。
http://en.wikipedia.org/w/api.php
“origin” - 使用跨域访问API时 AJAX请求(CORS),将其设置为原始域。 这必须与Origin:标题中的一个起源完全匹配,因此必须将其设置为类似的内容 http://en.wikipedia.org或https://meta.wikimedia.org。 如果此参数与Origin:标头不匹配,则将返回403响应。 如果此参数与Origin:标头匹配且原始列入白名单,则为Access-Control-Allow-Origin标头 将被设定。“