2011-11-15 8 views
1

jqueryとjqueryモバイルライブラリ(最新バージョン)をロードするindex.htmlページがあります。このライブラリには2つの他のページへのリンクがあります。jQueryモバイルロード動的ページ

<a href="page2.html" class="ui-state-persist" id='some_id' data-role="button" data-theme="e" >Page2</a> 

<a href="page3.html" class="ui-state-persist" id='some_id' data-role="button" data-theme="e" >Page3</a> 

2ページ目と3ページ目にカスタムJavaScriptファイルを含めることはできますか?このようにpage2.htmlが正しくレンダリングされるように、それらを含めると、jsファイルは無視されるようです。これの目的は、メインメニューとアプリケーションページの間でJavaScriptを読み込む際の待機時間を分散することです。

page2.html:ここ

<!DOCTYPE html> 
<html> 
    <head> 
    <title>My Apptitle> 
    <meta charset="utf-8"/> 

    <!-- custom files and libraries --> 
    <script src="../js/mycode.js"></script> 
    </head> 
    <body> 

<div data-role="page" id="preTktTab"> 
<div data-role="header" data-position="inline"> 
<!-- and so on --> 

答えて

0

は、私は非常によく似た質問について誰かに与えた説明です:あなたはjQueryのモバイルフレームワーク内のページに移動するときjQueryMobile page events not firing when navigating to a different html page

は基本的に、フレームワークは、プルAJAX経由でDOMにページします。これを行うと、ページ上の最初の<div data-role="page">要素内のHTMLだけを取得し、残りのページは無視します。したがって、これらのページビューでJavaScriptをロードする場合は、<div data-role="page">要素内に<script>タグを追加する必要があります。

たとえば、変更:

<html> 
<head> 
    <script src="..." type="text/javascript"></script> 
</head> 
<body> 
    <div data-role="page"> 
     ...mobile page here... 
    </div> 
</body> 
</html> 

へ:ここ

<html> 
<head> 
</head> 
<body> 
    <div data-role="page"> 
     <script src="..." type="text/javascript"></script> 
     ...mobile page here... 
    </div> 
</body> 
</html> 

は、件名にいくつかの良い読書は(ページの下部にある "既知の制限" を気づか)です。http://jquerymobile.com/demos/1.0rc3/docs/pages/page-navmodel.html

+0

あなたのソリューションはMozillaとChromeで動作しました。残念ながら、私たちのモバイルブラウザであるBlackberryでは、javascriptファイルがロードされましたが、実行されていないようです。 –

+0

'eval()'を使ってコードを評価することができます: 'eval($( '#page_id')。find( 'script').html());'ほんの1 KB程度ですから、私はJSを分割することについて心配しません。 – Jasper

+0

JavaScriptを使って大規模なJQMを構成する例やモデルを見てきましたか?あなたはこれについて少し考えたようです。 –

関連する問題