我有一个不寻常的情况。 我已经使用.load()加载了我网站的一部分,只有在设备不是移动设备时才触发自身,因此为移动设备提供一个版本的网站,为桌面提供一个版本。
<script>
$(document).ready(function() {
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
}else
{
$('#slider-desktop').load('http://studio24-24.com/desktop.html');
}
});
</script>
工作正常。但是,我刚才意识到如果有人通过http://www.website.com或www.website.com进入我的网站,而不是http://website.com,那么它不会加载网站的那部分内容吗?
Website with http:// Website with http://www
所以我已经找到了原因问题。 问题是http://www要求.load()中的url也是http://www。和www与www。因为在.load中有http://mywebsite,网站只会在我们使用http://mywebsite.com访问它时加载它。
我该如何解决这个问题?
答案 0 :(得分:3)
那是因为load
使用的是ajax,受Same Origin Policy限制。 http://studio24-24.com
和http://www.studio24-24.com
是不同的来源,因此默认情况下不允许使用它们之间的ajax。
这是使用相对URL的原因之一。在您的情况下,"./desktop.html"
(从当前页面的同一“目录”加载desktop.html
)或"/desktop.html"
(从根加载它,即使我们在“子目录”中)。