2012-07-07 81 views
1

嗨,我正在开发phonegap应用程序。如果我在index.html文件中使用console.log,那么它会打印,但如果我在另一个文件中使用它,它不会打印。如果假设我导入文件index.html文件,如:如何导入.js文件

<!DOCTYPE html> 

<html> 

<head> 

    <link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.1.0.css" /> 
    <link rel="stylesheet" href="docs/assets/css/jqm-docs.css" /> 
    <link rel="stylesheet" href="docsdemos-style-override.css" /> 


    <script type="text/javascript" charset="utf-8" src="cordova-1.6.1.js"></script>    
    <script type="text/javascript" src="jquery.mobile/jquery-1.7.2.min"></script>  
    <script type="text/javascript" src="jquery.mobile/jqm.autoComplete-1.4.js"></script>  
    <script type="text/javascript" src="jquery.mobile/jquery.mobile-1.1.0.js"></script> 

    <script type="text/javascript"> 

     console.log("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); 
    </script> 

</head> 

<body> 

<div data-role="page" id="home" data-add-back-btn="true"> 
    <div data-role="content" > 

     <a href="UI/Equity/test.html" data-role="button" id="myButton">index</a>    

    </div> 
</div> 



</body> 
</html> 

然后页面显示有按钮和打印!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!。但在按钮的点击它显示的test.html文件,该文件是这样的:

<!DOCTYPE html> 

<html> 

<head> 

    <link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.1.0.css" /> 
    <link rel="stylesheet" href="docs/assets/css/jqm-docs.css" /> 
    <link rel="stylesheet" href="docsdemos-style-override.css" /> 


    <script type="text/javascript" charset="utf-8" src="cordova-1.6.1.js"></script>    
    <script type="text/javascript" src="jquery.mobile/jquery-1.7.2.min"></script>  
    <script type="text/javascript" src="jquery.mobile/jqm.autoComplete-1.4.js"></script>  
    <script type="text/javascript" src="jquery.mobile/jquery.mobile-1.1.0.js"></script> 

    <script type="text/javascript"> 

     console.log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); 
    </script> 

</head> 

<body> 

<div data-role="page" id="home" data-add-back-btn="true"> 
    <div data-role="content" > 

     <a href="#" data-role="button" id="myButton">Test</a>   

    </div> 
</div> 



</body> 
</html> 

但这里不打印@@@@@@@@@@@@@@@@@@@@@ @@@@@@@为什么这样?

+0

什么是文件夹的层次结构index.html和t est.html? – Adil 2012-07-07 06:53:06

+0

索引文件在www文件夹中(索引文件是应用程序的入口点) 测试文件在www/UI/Equity文件夹中 – PPD 2012-07-07 06:57:29

回答

3

当你在不同的HTML文件,jQuery Mobile的“页”,什么 框架所做的是获取data-role =“page”元素 的内容,并将其插入到当前页面的DOM中。

任何不在data-role =“page”元素中的内容都被完全忽略。 这是什么意思,只是在你打的第一页头部的脚本(在这种情况下,index.html)实际上是下载和 运行,这就是为什么你的脚本需要被引用的所有头 所有页面。

检查PageCreate事件here

OR

另一种选择是强制使执行第2页脚本刷新页面,则可以通过设置做到这一点:

<div data-role="page" id="home" data-add-back-btn="true"> 
    <div data-role="content" > 

     <a href="UI/Equity/test.html" data-ajax="false" data-role="button" id="myButton">index</a>    

    </div> 
</div> 

新增数据-ajax =“false”

+0

添加data-ajax =“false”后,它会打印。非常感谢你。 – PPD 2012-07-07 07:26:16

+0

+1有很好的解释。 – Adil 2012-07-07 07:35:31

1

您需要给出导入javascript文件的相对路径。您可能需要改变,要IMPO

从index.html的test.html中的

假设目录路径是一样的东西

index.html 
UI\Equity\Test.html 

<script type="text/javascript" charset="utf-8" src="../../cordova-1.6.1.js"></script>    
<script type="text/javascript" src="../../jquery.mobile/jquery-1.7.2.min"></script>  
<script type="text/javascript" src="../../jquery.mobile/jqm.autoComplete-1.4.js"></script>  
<script type="text/javascript" src="../../jquery.mobile/jquery.mobile-1.1.0.js"></script> 
+0

感谢您在test.html文件中回复我已在每个文件之前添加../../仍然不打印 – PPD 2012-07-07 07:04:33

+0

它应该有工作,关闭浏览器再次打开它并用ctrl | + f5刷新页面,其次从浏览器查看源代码并找到脚本标记并检查您拥有的路径。如何检查来源http://www.computerhope.com/issues/ch000746.htm – Adil 2012-07-07 07:12:51

+0

@ Adil感谢您的建议和你的时间。 – PPD 2012-07-07 07:26:56