Posuvná lišta sa nenačíta, pokiaľ nenarazím na obnovenie. Predpokladám, že sa to dá vyriešiť pomocou jQuery Mobile pageinit
. Toto som vyskúšal:
$("#summaryPage").live("pageinit", function(){
$.getScript("cubiq-iscroll-bad88fb/src/iscroll.js");
});
Žiadne kocky. Nejaké nápady?
odpovede:
2 pre odpoveď č. 1var jsonp = document.createElement("script");
jsonp.type = "text/javascript";
jsonp.src = "cubiq-iscroll-bad88fb/src/iscroll.js";
document.getElementsByTagName("body")[0].appendChild(jsonp);
malo by to fungovať dobre. Ak súbor .js funguje bez chyby. Dúfam, že to pomôže.
1 pre odpoveď č. 2
Si môžete vyskúšať:
<script>
$("#summaryPage").live("pageinit", function(){
var oHead = document.getElementsByTagName("HEAD").item(0);
var oScript= document.createElement("script");
oScript.type = "text/javascript";
oScript.src="other.js";
oHead.appendChild( oScript);
});
</script>
1 pre odpoveď č. 3
Skúste ho spustiť skôr, ako sa zobrazí stránka:
$("div:jqmData(role="page")").live("pagebeforeshow",function(){
$.getScript("cubiq-iscroll-bad88fb/src/iscroll.js");
});
jQuery mobile $ (dokument). už ekvivalent
1 pre odpoveď č. 4
pretože .live bude zastaraný, môžete tiež
$(document).on("pageinit", "#summaryPage", function(){
//append head element and custom script
});
Môže sa tiež stať, že načítate svojeskripty príliš neskoro, prirodzene na tvojom mieste by som to urobil okamžite, len čo bude dokument alebo zariadenie pripravené, a potom, keď stránka vo vnútri skontroluje, či daný prvok existuje, a ak nie, spustil vytvorenie. Existujú aj udalosti, ktoré si môžete vypočuť v mobilnom API jquery, napr. pagebeforecreate
Alebo ešte lepšie umiestniť kód do globálnej funkcie bez názvu:
function(){
//append your script here
}
dokumentáciu si môžete prečítať na jquery.com v API