2014-11-04 67 views
0

我有一個建立在Adobe CQ5上並使用build.phonegap.com進行編譯的多頁新聞應用程序。我可以;不知道如何從所有的HTML頁面引用cordova.js。使用build.phonegap.com - 如何在index.html以外的頁面上引用cordova.js?

在index.html上使用<script src="cordova.js"></script>很容易,但應用程序的結構使得每篇文章都是在不同目錄中的自己的HTML文件。我無法硬編碼JS引用,因爲我需要它在一個文件上爲<script src="../cordova.js"></script>,在另一個文件上爲<script src="../../cordova.js"></script>,依賴於HTML的目錄。更不用說資產和cordova.js的路徑每個設備也不同。

簡而言之

結構大致是這樣的:

/www/index.html <-- referencing cordova.js through <script src="cordova.js"></script> 
/www/cordova.js 
/www/content/breaking-news.html <-- this page needs to reference cordova.js too 
/www/content/breaking-news/breaking-news-title.html <-- this page needs to reference cordova.js too 
... 
etc 

我應該怎樣處理呢?單頁應用程序是唯一的解決方案嗎?我不關心性能,因爲我已經建立了一個內容同步系統,可以通過無線方式獲取壓縮增量更新並將其應用到應用程序。

+0

爲什麼不能硬編碼cordova.js文件的路徑? – 2014-11-04 11:21:41

+0

因爲我正在使用一個模板來生成文章頁面,並且我無法預測文件夾結構會走多深。如果您不關心在創建文章頁面時可以生成cordova.js文件路徑的性能,我不想創建不同的模板來使其工作 – 2014-11-04 15:16:49

+0

。 – 2014-11-05 07:00:31

回答

0

相對路徑,如../cordova.jscordova.js取決於引用資源的當前位置,如index.htmlbreaking-news.html。您應該使用絕對路徑:/cordova.js。無論當前網頁路徑如何,它都會始終引用站點根目錄中的腳本。

+0

我知道你的意思,但我不能這樣做,因爲資產文件夾的路徑在每個設備上都不相同。對於Android而言,它位於\ assets \ www \中,對於iOS則是\ Payload \ appname.app \ www \。我想我可以嘗試檢測設備並以這種方式傳遞絕對路徑,但這種感覺不正確。我在想,必須有某種路徑重寫器可以幫助我,但目前爲止沒有運氣...... – 2014-11-05 00:43:18

相關問題