2014-02-17 102 views
0

我有一个应该每隔10秒钟自动载入instagram标签的页面。它在我的本地主机上正常工作,但在服务器上完全失败。这是在Dropbox server。当脚本10秒后,从加载的页面执行,包含图像的DIV被改写的“的script.js”jQuery自动载入脚本在本地主机上运行,​​但在服务器上运行时失败

var refreshId = setInterval(function() 
    { 
     console.log("success"); 
     $('#instafeed').load('script.js'); 
    }, 10000); 

编辑内容:我知道我说它与本地主机。但是我错了,如果在浏览器中作为不在本地服务器上的普通文件运行,index.html工作得很好。

+0

你得到的错误是什么?我的猜测是跨域设置。你不能从另一台服务器上打开一些东西(除非使用php或其他东西)。 – Martijn

+0

检查负载路径('') –

+0

@Martijn没有错误。该脚本逐字转储到'#instafeed'转储中。检查我分享的链接以查看。 – Rami

回答

1

这是该脚本的正常行为。 $("container").load()将通过脚本包含的内容替换“容器”的内容。

为什么不直接写js代码? 10000);

var refreshId = setInterval(function() 
{ 
    console.log("success"); 
    var feed = new Instafeed({ 
    get: 'tagged', 
    tagName: 'creative_tunnel', 
    clientId: 'b68db303d6ac4e74ac4e2f99a3f16fd2', 
    resolution: 'standard_resolution', 
    limit: 60, 
    }); 
feed.run(); 

},10000);

如果clientId取决于外部文件,则可以修改代码并使用$.get$.ajax以仅获取该ID。

否则,使你的脚本与同系统的工作原理你想,你必须得到的script.js的内容,然后用eval()函数执行它......但/!\ EVAL() IS A BAD IDEA

$("container").ajax('script.js', function(data){ 
    // bad idea 
    eval(data); 
}) 
+0

这很好,非常感谢 – Rami

相关问题