通过js .load()加载的内容不会加载url:http:// www或www

时间:2017-10-23 16:35:26

标签: javascript html

我有一个不寻常的情况。 我已经使用.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访问它时加载它。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

那是因为load使用的是ajax,受Same Origin Policy限制。 http://studio24-24.comhttp://www.studio24-24.com不同的来源,因此默认情况下不允许使用它们之间的ajax。

这是使用相对URL的原因之一。在您的情况下,"./desktop.html"(从当前页面的同一“目录”加载desktop.html)或"/desktop.html"(从根加载它,即使我们在“子目录”中)。