我在 WordPress 中使用 .load() 函数时遇到问题。最初我使用的是 3.0.5 版本的 WP,想从外部页面(同域)获取一些内容,所以我使用了这段代码
jQuery.noConflict();
jQuery(document).ready(function(){
jQuery(".someclass").load("http://www.mydomain.com #someid");
});
...并且成功了。然而,在将Wordpress更新到最新版本(并安装插件/一些使用jquery或mootools/之后,这段代码不再提取任何内容。我尝试为noConflict模式编写不同的代码,但也没有成功(但JS正在工作)如果我将行更改为某些警报功能)。我还停用了所有插件,删除了其他js(例如菜单),但仍然没有显示内容。如果我在单独的文件中使用相同的代码(在WP主题所在的同一目录中) ) - 它有效。
如果有人提供下一步尝试什么或在哪里寻找潜在问题的建议,我将不胜感激。或者也许建议一些其他方法如何从外部页面(和特定的 div)获取内容。如果我将该单独的文件放入 iframe 并在侧边栏中调用它,它可以工作,但会出现 iframe 链接在 iframe 框中打开的问题。
最佳答案
您的问题是same origin policy ,用 Lamens 术语来说,这意味着您不能对不同的域(甚至子域)执行 ajax 请求,因为这是安全风险,您的浏览器根本不会让您这样做。具体来说,在您的情况下,您尝试从 inforstar.rs 加载 www.infostar.rs。
你需要想出另一个想法,我个人会用 PHP 来实现:
echo file_get_contents('http://domain.com');
或者可以考虑在 htaccess 中强制使用非 www。
关于javascript - WordPress 和 javascript .load() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7007976/