2012-07-07 74 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