2012-12-11 59 views
-1

我建立存儲在我可以在應用程序包中訪問jquery和cordova的Documents目錄中創建html文件嗎?

[[PROJ UserDirectory] stringByAppendingPathComponent:@"tmp_Form_File.html"] 

和裏面的文件「tmp_FOrm_File.html」它正在動態生成的HTML文件。正文顯示正確,但JS不會執行。

我試圖做的事:

NSString * cordova_path = [[NSBundle mainBundle] oathForResource:@"cordova-2.2.0" ofType:@"js" inDirectory:@"html"] 
NSString = [[@"<script type=\"text/javascript\" src=\"" stringByAppendingString:cordova_path] stringByAppendingString:@"\"></script>"]; 

,類似jQuery的。

我的問題是,我不認爲當我加載htmlfile到一個webView,它相應地獲取數據。

我測試的字符串,它們看起來聲音:

<script type="text/javascript" src="/var/mobile/Applications/[DATA]/PROJ.app/html/cordova-2.2.0.js"></script><script type="text/javascript" src="/var/mobile/Applications/[DATA]/PROJ.app/html/jquery-1.7.2.min.js"></script><script type="text/javascript">$(function(){ alert("test"); });</script> 

1)我是做錯了?如果是的話,我該如何解決這個問題?

2)通過ios將包中的html目錄複製到Documents會更好嗎?如果是這樣,怎麼樣?

編輯:暫時刪除了jquery引用,jquery和cordova。只是使用純粹的JavaScript,它會正確提醒。這意味着Bundle中的src存在問題。

回答

0

我不可能大氣壓引用它,但我解決這樣說: - 我複製[管束]/HTML到文檔中的內容....

NSString * sourcePath = [[[NSBundle mainBundle] pathForResource:@"cordova-2.2.0" ofType:@"js" inDirectory:@"html"] stringByDeletingLastPathComponent]; 
    NSString * documentDirectory = [AssetInspectorFileManager UsersDirectory]; 
  • 調整了javascript的src。

    <腳本類型= \ 「文本/ JavaScript的\」 SRC = \ 「科爾多瓦-2.2.0.js \」>

    <腳本類型= \ 「文本/ JavaScript的\」 SRC = \「jquery- 1.7.2.min.js \ 「>

  • 關閉缺少parenthese

    」 $(\ 「div.container \」)。CSS(\ 「的z-index \」,1,」

成爲

" $(\"div.container\").css(\"z-index\",1);" 
  • Coomenting不利於該做的,當你寫數據出來,例如爲:

    $(本)。點擊(函數(){// [這是一個註釋]警報( 「HI」);});

所以你必須針對這類問題進行調整。

0

發生這種情況是因爲您的參考不起作用。當你想讓你的HTML在webview中呈現一些相對路徑時,你可以使用選項「創建文件夾引用添加文件夾」來添加它。

如果這個html頁面不會獲取並存儲任何數據,那麼將其保存在bundle中,否則將它們複製到Appdelegate中的Library或文檔文件夾中。

希望這會有所幫助!

Like this

+0

是的,根據我剛剛創建的答案,似乎也是按照你的步驟。我最終不得不從Bundle複製到文檔。我不認爲第一部分工作正常,所以我只是將其移動。 – Fallenreaper

+0

它適合你嗎? –

+0

第一部分沒有出於某種原因。隨着我的帖子,我分手了,並提供了代碼示例。 – Fallenreaper

相關問題