2013-07-11 35 views
3

我想腳本添加到外部網頁在jQuery Mobile的以外的主文件(其中爲jQuery Mobile的源被稱爲)。這裏是我的代碼這兩個文件添加腳本到外部網頁在jQuery Mobile的以外的home文件

內的index.php

<head> 
     <title>My Web Application</title> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0;" /> 
     <meta name="apple-mobile-web-app-capable" content="yes" /> 
     <link rel="stylesheet" href="view/css/mobile.css" /> 
     <link rel="stylesheet" href="view/css/reset.css" /> 
     <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" /> 
     <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
     <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script> 
     <script type="text/javascript" src="view/js/light.js"></script> 

    </head> 
    <body> 

     <div data-role="page" class="page"> 
      <div data-role="header" id="index-header" data-theme="b"> 
       <div id="logo"> 
        <a href="#"><img src="view/images/Milan.png" alt="logo" height="80"></a>  
       </div> 
      </div> 
      <div id="color-bar"></div> 
      <div data-role="content"> 
       <ul data-role="listview" data-inset="true" data-theme="b"> 

        <li><a href="#" title="theme"><img src="view/images/1.png" />Security</a></li> 
    <li><a href="light.php" title="calendar"><img src="view/images/2.png" />Info</a></li> 
    <li><a href="light.php" title="theme"><img src="view/images/3.png" />Lighting</a></li> 
    <li><a href="light.php" title="calendar"><img src="view/images/4.png" />Comfort</a></li> 
    <li><a href="light.php" title="theme"><img src="view/images/5.png" />Music</a></li> 
    <li><a href="light.php" title="calendar"><img src="view/images/6.png" />Media</a></li> 
       </ul>    
      </div><!-- /content --> 
    </div><!-- /page --> 
</body> 

這裏的代碼,onclicking我的錨標記,頁面會被重定向到說light.php.In light.php我無法添加任何外部腳本。如果我想使用light.php中的任何腳本,它希望我將它添加到index.php中。但我想加我的腳本中light.php並使其運行light.php是內整合的腳本,我想裏面添加light.php

<script type="text/javascript"> 
    var auto_refresh = setInterval(
      function() 
      { 
      window.location = "index.php?page=lighting"; 
      }, 1000); 
    </script> 

什麼,當我刷新我的light.php文件,腳本似乎工作,但我想讓它工作沒有刷新。

回答

4

jQuery Mobile的如何處理頁面改變

要理解這種情況下,你需要了解jQuery Mobile的是如何工作的。它使用ajax來加載其他頁面。

第一頁正常加載。它HEADBODY裝入DOM,和他們在那裏等待其他內容。當第二加載頁面時,只BODY內容加載到DOM

這裏有一個官方文檔:http://jquerymobile.com/demos/1.2.0/docs/pages/page-links.html

可惜你不會找到自己的文檔描述,在此。以太他們認爲這是一種常識,或者他們忘記像我的其他話題一樣描述這一點。 (jQuery Mobile文檔很大,但缺少很多東西)。

解決方案:

  • 在你的第二頁,和所有其他網頁,移動你的SCRIPT標籤進入BODY內容,就像這樣:

  • 移動所有的JavaScript成原來的第一個HTML。收集所有內容並將其放入單個js文件中,並轉換爲HEAD。在jQuery Mobile加載後初始化它。

  • 使用rel =「external」在你的按鈕和你用來改變頁面的每個元素。正因爲如此,ajax不會用於頁面加載,而您的jQuery Mobile應用程序會像普通的Web應用程序一樣運行。有工作的例子

更多信息

的更多信息可以在我的博客ARTICLE甚至HERE被發現。

+0

感謝您的幫助。我嘗試了三種解決方案,它工作得很好。 – raduns

+0

我很高興它正在工作,只是問你是否需要更多。 – Gajotres

+0

是肯定..謝謝.. – raduns