1

在我的网站上,我使用 .load 从另一个页面中提取内容。它只在某些情况下有效。当站点 url 输入为http://www.klossal.com/portfolio 时,.load 内容仅在以这种方式输入时有效:

.load('/space_fullscreen.html');

或者这样:.load('www.klossal.com/portfolio/space_fullscreen.html');

问题是有时人们会在http://klossal.com/portfolio中输入一个网址,当他们这样做时,前两条路径不再起作用,我必须进去并将其更改为:

.load('http://klossal.com/portfolio/space_fullscreen.html');

有没有办法设置它,所以无论人们如何输入网址,它都能正常工作?

整个脚本是:

<script type="text/javascript">
$(function() {
$("#fullscreen_launch").click(function(){
$('#fullscreen').empty();
$("#fullscreen").animate({
top: '0px',
height:'100%',
}, 950, function() {
$('#fullscreen')
   .load('.../space_fullscreen.html');
});
});
});
</script>
4

1 回答 1

1

这是因为您使用的是完整的 url .load,然后浏览器同源策略阻止了请求。对于浏览器“www.klossal.com”与“klossal.com”不同。

解决此问题的2种方法:

1)最简单和好的方法:只使用相对网址。调用.load('space_fullscreen.html')而不是.load('http://www.klossal.com/portfolio/space_fullscreen.html'),因此浏览器将向同源(带或不带 www)发出请求,并且同源策略不会阻止请求。

或者

2) 将您的应用程序配置为从“klossal.com”重定向到“www.klossal.com”。

于 2012-08-06T13:25:53.140 回答