簡體   English   中英

代碼片段使用復雜的 JavaScript 在 UIWebView 中插入 HTML?

[英]Code Snippet to use complex JavaScript to insert HTML inside UIWebView?

I have to do some complex work with a UIWebView and Javascript and always get problems when I try to insert complex Javascripts involving JQuery and HTML Snippets that contain JavaScript themselves. 我似乎從來沒有足夠的引號和單引號符號,並且放入腳本元素有點痛苦。

我有一個神奇的 Objective-C 片段,還是一種更簡單的復制粘貼方式來使用用於此類任務的更復雜的腳本?

編輯:再解釋一下,我有 HTML 的大片段(還包含 Javascript 和<a href="javascript:doSomething('stupid')")>之類的東西,我需要通過 Z686155AF9A67EDDFE6 之后放入 DOM在 UIWebView 中加載網站。

我現在的方法是將 HTML 的東西放入文件中,重寫它們,以便例如我在 JS 變量中有“愚蠢”,所以我不需要額外的單引號,將占位符放置到位,如 ###placeholder1### ,將該文件加載到 NSString 中,並用我的應用程序中通過html = [html stringByReplacingOccurrencesOfString:@"###placeholder1###" withString:dynamicStuffHtml]; . 之前的動態數據不包含單引號,除了在文本內容中,我將單引號替換為 HTML 編碼的&#39; .

然后我嘗試通過這樣做將整個字符串放入 DOM:

NSString* javascript = [NSString stringWithFormat:@"%@%@%@",@"jQuery('.focus_box').first().before('",html,@"');"];
[webView stringByEvaluatingJavaScriptFromString:javascript];

這適用於簡單和簡短的示例(例如,當我放入短段落或簡單的 HTML 時),但對於大約 50-60 行的完整 HTML 片段,它只是不起作用。 此外,所有這些編輯、替換、修補和填充讓我認為,也許有人使用 UIWebViews 和 JavaScript 有一個更好的解決方案,並且已知可以工作。

再次編輯:我開始了賞金,因為我不敢相信 UIWebView 的用法如此之少,以至於沒有人對此有答案,或者已經有一個大型私有工具類來處理如此更復雜的 JavaScript 交互,其中 Z744DB33A 的大塊可以 beFAAC4AD5FCA2E037A包括沒有重新加載。 :-)

要在 UIWebView 中加載一些文件形式,請執行以下操作

<script language="javascript" type="text/javascript">
var bundlePath = "here_goes_full_path_to_your_bundle"; 
// It should be something like file:///var/.../YouApp.app 
// Set it from your code

jQuery.get(bundlePath + "/someFile.html", function(data) {alert(data);});
</script>

我為內部資料創建了一些網站,這些網站過度使用了這種技術。 我遇到的最大問題是正確獲取封裝的引號,因為您的所有引號都必須被屏蔽(使用 )

這是一個小片段:

code += "<table onclick='gbyid(\"suchfeld " + parametername + "\").value = \"\", " + parametername + " = \"\"'><tr><td>Delete Date</td></tr></table>"

我不知道,這是否有幫助,但“它只是不起作用”並不是什么大提示:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM