使用复杂的JavaScript在UIWebView中插入HTML的代码片段
Code Snippet to use complex JavaScript to insert HTML inside UIWebView?
我必须做一些复杂的工作与UIWebView和Javascript,总是得到的问题,当我试图插入复杂的Javascript涉及JQuery和HTML片段,包含Javascript本身。我似乎从来没有足够的引号和单引号符号,把脚本元素有点痛苦。
是否有一个神奇的Objective-C代码片段,或者一个更容易的复制粘贴的方式来使用更复杂的脚本,你使用这些任务?
编辑:为了解释更多一点,我有HTML的大片段(也包含Javascript和东西像<a href="javascript:doSomething('stupid')")>
,我需要通过Javascript放入DOM后,我在UIWebView加载一个网站。
我现在的方法是将HTML内容放入文件中,重写它们,这样我就可以在js变量中使用'stupid',这样我就不需要额外的单引号,将占位符放入像###placeholder1###这样的位置,将该文件加载到NSString中,并将这些占位符替换为通过html = [html stringByReplacingOccurrencesOfString:@"###placeholder1###" withString:dynamicStuffHtml];
在我的应用程序中生成的动态数据。之前的动态数据不包含单引号,除了在文本内容中,我用html编码的'
代替了单引号。
然后我试着把整个字符串放入DOM,这样做:
NSString* javascript = [NSString stringWithFormat:@"%@%@%@",@"jQuery('.focus_box').first().before('",html,@"');"];
[webView stringByEvaluatingJavaScriptFromString:javascript];
这适用于简单和简短的示例(例如,当我放入短段落或简单的HTML时),但对于大约50-60行的完整HTML片段,它就不起作用了。此外,所有的编辑,替换,修补和填充让我认为也许有人使用UIWebViews和JavaScript有一个更好的解决方案,已知的工作。
再次编辑:我开始了一个奖励,因为我不能相信有这么少的用法的UIWebView,没有人有一个答案,或者已经有一个大的私有工具类来处理这样更复杂的JavaScript交互,其中大的HTML块可以包含不需要重新加载。: -)
要在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>"
我不知道,如果这有帮助,但'它只是不工作'不是一个大提示:)
- 如何在 MVC 中使用 javascript 作为原始 html 插入内容 ASP.NET
- 将 HTML 插入 Jekyll 帖子
- 在插入符号 (IE) 处将 HTML 插入 iFrame 中
- 反应:使用危险设置内部HTML插入时脚本标记不起作用
- 将 HTML 插入网页
- Dom 函数,将 HTML 插入到 dom 中替换所有内容
- 在不创建 CORS 限制的情况下将 HTML 插入画布
- 使用 javascript 编辑 HTML:插入 而不是
作为换行符 - TinyMCE,将HTML插入特定的TinyMCE实例
- CKEditor将HTML插入文本区域
- 在使用ajax将html插入页面后选择dom元素
- 如何使用jQuery打开一个新窗口并将html插入其中
- 从 AngularJS 控制器将 HTML 插入视图
- 有没有比insertAdjacentHTML()和一个巨大的HTML字符串更好的方法将HTML插入DOM中
- 使用ng指令将HTML插入视图::AngularJS+JavaScript+Ionic
- 如何修改此Javascript以允许将HTML插入到Button文本中?
- 用Jquery将HTML插入DIV
- 将HTML插入到光标位置到Ace编辑器
- 使用JavaScript/jQuery将多行HTML插入iframe的正确方法
- 用html插入一个列表项