簡體   English   中英

如何使用jQuery Mobile重新加載頁面更改時的外部JavaScript?

[英]How to reload external javascript on page change using jquery mobile?

我在使用Google定位服務的網站移動版中有幾個頁面。 我正在使用changePage Ajax函數瀏覽網站頁面。 在第一頁上,如果我轉到其他頁面然后再返回,則定位服務可以正常工作。

當我添加rel="external"它可以工作,但是問題是它會重新加載整個頁面,這對於桌面應用程序來說不是什么大問題,但在移動設備上看起來並不好。

我試圖將reloadPage = true添加到changePage,但沒有任何區別

有什么方法可以不重新加載整個頁面而僅重新加載位置服務嗎?

例:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false" ></script>

$("#btn-loc").click(function () {
        $.mobile.changePage("#btn-loc", { reloadPage: true }, { transition: "slide" });
    });

當使用reloadPage : true您必須引用外部頁面的位置,而不是該偽頁面元素的ID:

$("#btn-loc").click(function () {
    $.mobile.changePage("/btn-loc.html", {
        reloadPage : true,
        transition : "slide"
    });
});

另請注意,我是如何傳入options對象的,應該只包含一個要在單個對象中設置的所有屬性。

reloadPageboolean ,默認:false)

強制重新加載頁面,即使該頁面已經在頁面容器的DOM中也是如此。

  • 僅當changePage()的'to'參數為URL時使用。

來源: http//jquerymobile.com/demos/1.1.0-rc.1/docs/api/methods.html

更新資料

要通過JS將腳本添加到DOM,您可以使用Google的Google Analytics(分析)代碼:

<script>
    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = '/path/to/my-file.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM