2013-05-14 100 views
0

即时通讯工作与jquery加载功能,需要填写div的内容从页面到另一页。jquery加载函数不工作在铬在Firefox中工作?

first.html

<!DOCTYPE html> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <script> 
$('#getselect').find('option:selected').text(); 
</script> 
</head> 
<body> 
<div id="getdiv">Not loaded yet.</div> 
</body> 
</html> 

second.html

<!DOCTYPE html> 
    <html> 
    <head> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    </head> 
    <body> 
    <b>Footer navigation:</b> 
    <div id="getit"></div> 
    <div id="getitselected"></div> 
    <script> 
    $("#getit").load("first.html #getdiv"); 
    </script> 
    </body> 
</html> 

该脚本能正常工作在Firefox,但在CHROM不工作。请帮帮我。

+0

不工作意味着 – PSR 2013-05-14 09:23:23

+0

删除first.html中的所有html,head,body标签。 – 2013-05-14 09:23:41

+0

你是否假设第一个文件中的jQuery代码将在第二个文件中设置选择? – adeneo 2013-05-14 09:26:05

回答

1

尝试在$(document).ready()

$(document).ready(function(){ 
    $("#getit").load("first.html #getdiv"); 
}); 
+6

为什么会有帮助? – adeneo 2013-05-14 09:26:26

+0

@kevin bowersox我试过了,但没有工作! – 2013-05-14 13:11:40

+0

如果代码不在主体的底部(并且因此在DOM准备就绪时已经执行),这只会有所作为。 – 2014-06-06 11:22:49

0

这是一个AJAX请求,如果你尝试直接从second.html first.html使用Chrome浏览器将不会运行它包装一下你的代码,因为same-origin-policy

认沽它在server(本地/非本地),并尝试运行它像localhost:3000/testProject/second.html,它会正常工作。

0

或者你可以打开浏览器这样

cd C:\Program Files\Google\Chrome\Application 
start chrome.exe C:\second.html --disable-web-security 
1

如果不将网站托管在服务器上,你只尝试从浏览器中打开一个.html文件,在这种情况下,Chrome浏览器无法访问另一个文件在你的文件系统中。 您必须将您的项目部署到服务器,例如打印并测试它。你会看到铬工作正常。

0

使用preventdefault()

$(document).ready(function(){ 
    event.preventDefault(); 
    $("#getit").load("first.html #getdiv"); 
}); 
+0

很高兴解释为什么这会有所作为。 – 2014-03-05 12:29:54

+0

-1:谁赞成这个?这完全是无稽之谈。 'preventDefault()'不适用于DOM就绪事件(即使它没有做任何事情,'event'在你的代码范围内也不存在*)。 :( – 2014-06-06 11:25:54

+0

是的,你是对的,但它的工作是为这种情况完成的,对于有人喜欢这个有用, – 2014-06-06 16:01:38

0

https://stackoverflow.com/a/2990622/1123295http://www.chrome-allow-file-access-from-file.com/

您将需要与--allow-文件访问从-文件运行Chrome,以jQuery的负载功能,在本地工作。

如果在Windows 7+中,将Chrome固定到任务栏并右键单击该图标,然后右键单击“Google Chrome”并选择“属性”。然后更改目标以获得新标志,如下所示:

“C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe” - 允许从文件访问文件

现在每次chrome启动时,它都会使用新策略。

+0

我和OP有同样的问题,修理它 – mgrenier 2015-04-02 19:22:05

相关问题