2012-12-31 136 views
0

我试图在我的index.php文件中包含jquery和几个外部js文件。
我想这首先:在xhtml中包含外部JS文件

<script src="jquery-1.8.3.min.js" type="text/javascript"></script> 
<script src="file1.js" type="text/javascript"></script> 
<script src="file2.js" type="text/javascript"></script> 
<script src="file3.js" type="text/javascript"></script> 

但它并没有在IE9(了兼容性模式,IE7)工作。所以我试过这个:

<script src="jquery-1.8.3.min.js" type="text/javascript" /> 
<script src="file1.js" type="text/javascript" /> 
<script src="file2.js" type="text/javascript" /> 
<script src="file3.js" type="text/javascript" /> 

这是错误的,不能在任何浏览器中工作。但如果我这样做:

<script src="jquery-1.8.3.min.js" type="text/javascript" /> 
<script src="file1.js" type="text/javascript" /> 
<script src="file2.js" type="text/javascript" /> 
<script src="file3.js" type="text/javascript" /></script> 

这似乎工作,但最后一个文件不包括在内。
我无法为您提供原始代码,对不起。

有谁能告诉我这样做的正确方法是什么?我做错了什么?

PS:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl"> 

编辑:

作为T.J. Crowder说html标签没问题,问题出在我的脚本里面。我研究了它在哪里,问题似乎在这些方面。这是我从SO获得的脚本,用于检查浏览器是否支持input[type=date]如果你可以告诉我一个简单的方法来检查它在IE浏览器而不打破整个脚本,我将不胜感激。不要紧,我把tester.type = "date";更改为tester.setAttribute("type", "date");,它也适用于IE。

var tester = document.createElement('input'); 
tester.type = "date"; 
//if type date is not supported create own mask 
if(tester.type !== "date") 
+0

*“但它在IE9(IE7兼容性模式)下无法工作。”*定义“无效”。你的第一套例子是正确的方法。 –

+0

没有包含这些文件。 Jquery根本没有工作。 – Dharman

+1

这并不重要,但它包含在哪里?在头部或身体?您确定文档中没有任何其他解析错误导致问题吗? HTML相当宽容,但未封闭的标签或不正确的嵌套可能会导致不稳定的行为。 – Apropos

回答

3

问题是“这是做什么的正确方法?”答案是“你在第一套例子中做到的方式”。 :-)

你说你第一套的例子“没有工作”,并在评论进一步解释说......

...文件没有被包括在内。 Jquery根本没有工作。

这不是您的script标签的问题,您的第一套示例是正确的。查看F12开发工具,你很可能会发现脚本不在你认为的位置(例如,你得到了404s),或者你得到脚本错误(例如,文件包含,但是脚本错误阻止了它们的正常工作)。

+0

他似乎暗示它在其他浏览器中工作 - 只是在兼容模式下不是IE。这不会是一个404问题。 – Apropos

+0

@Apropos:那么这将是一个脚本错误或一些这样的。根本的答案不会改变。 :-) –

+0

@ t-j-crowder公平点 - 尽管损坏的DOM可能不会。我想,取决于控制台。不熟悉IE浏览器。 – Apropos