2013-06-03 35 views
0

我使用Worklight開發Web,並且已經創建了Android平板電腦的皮膚,名爲android.skin。但是,當我在模擬器和控制檯上測試平板電腦html時,它正確地加載了html,但它從兩個文件夾(commonandroid.skin)中加載了js文件。Worklight加載公共和自定義外觀文件夾?

如何在平板電腦上運行時僅從android.skin加載?

這裏是我的代碼:

HTML:

<div data-role="page" id="homePage"> 
    <div data-role="content"> 
     <div style="width:300px"> 
      <a href="#" data-role="button" id="login" class="fullWidth">Log In</a> 
     </div> 
    </div> 

    <script src="js/theJs.js" type="text/javascript" charset="utf-8"></script> 
</div> 

theJs.jscommon文件夾:

$('#login').click(function(e){ 
    e.preventDefault(); 
    e.stopImmediatePropagation(); 

    alert('Common!'); 

    jq.mobile.changePage("nextPage.html", { transition: animation, changeHash: true }); 
}); 

theJs.jsandroid.skin文件夾:

$('#login').click(function(e){ 
    e.preventDefault(); 
    e.stopImmediatePropagation(); 

    alert('Android.skin!'); 

    jq.mobile.changePage("nextPage.html", { transition: animation, changeHash: true }); 
}); 

nextPage.html

<div data-role="page"> 
    <script src="js/nextPage.js"></script> 
</div> 

當我執行我的應用程序,都在警報和commonandroid.skin結果被彈出。我想要的是,因爲我想在平板電腦中設計一些不同的佈局,所以html,js和css上的內容也必須不同。

UPDATE:

似乎並不只加載來自.js文件的代碼,但也.css文件。

+0

你能編輯你的問題並描述實際問題嗎?你的意思是說,當運行應用程序時,來自默認外觀和平板電腦外觀的代碼被執行?代碼片段沒有出現問題的上下文,所以它們沒有幫助。 –

+0

嗨Idan :)對不起,如果它不是描述性的,我已編輯我的問題,請再次看看它:) – Rendy

+0

沒有幫助。問題是什麼**?是不是像你期望的那樣工作,或者這只是你看到的一種現象(來自皮膚中的默認和皮膚的代碼)? –

回答

0

您添加到環境中的平板電腦外觀取決於相同環境的默認「外觀」。

加載皮膚時,它還包含默認皮膚的網絡資源,因此默認皮膚和平板皮膚的CSS和JS一起存在,但只有平板皮膚的代碼正在使用(其中需要)。

這在skins training module中有解釋。

你看到不同的現象了嗎?

+0

嗨伊丹,從你的回答中,我剛剛意識到,實際上在'application-descriptor.xml'中,Worklight會自動將'common'和'android'文件夾放入我的新皮膚xml標記中。當我嘗試刪除'common'文件夾時,它不再從'common'文件夾調用javascript。再次感謝Idan的支持! – Rendy