如何将其他文本附加到 UIWebView

Posted

技术标签:

【中文标题】如何将其他文本附加到 UIWebView【英文标题】:How can i attach additional text into a UIWebView 【发布时间】:2015-01-07 02:47:09 【问题描述】:

这是我的问题:

我需要找到一种方法将文本加载/附加到 UIWebView 中,同时保持在滚动位置,以便在点击按钮时新文本看起来无缝。

场景是我显示一本书的页面,当用户滚动到页面末尾时,我需要提供一个选项以将下一页附加到 webView。

我尝试将包含两个字符串的新 NSString 加载到 webView 中,然后将其滚动到最后一个位置,但这会产生丑陋的“闪烁”,并且很难留意分页符。

我的问题是,是否有人对如何通过将更多文本加载到 UIWebview 并将其附加到现有文本而不重新加载整个 UIWebview 来创建“无缝滚动”效果有经验或想法。不幸的是,我对 javascript 非常缺乏经验,但我希望有一个脚本可以动态地将文本添加到现有内容中。

类似于 iBooks 中的滚动视图。

如果潜在的帮助者需要任何具体信息,请告诉我,否则如果有人能指出一种方法来指导我的研究,我将非常感激。

TA

【问题讨论】:

这可能对你有帮助 *** link techniques scroll 【参考方案1】:

正如您所怀疑的那样,Javascript 很可能是您最好的选择。幸运的是,添加文本很容易。您可以拥有这样的脚本(假设您的 html 中有一个标识为 #myId 的节点):

function addText(textToAdd) 
   var div = document.getElementById('myId');
   div.innerHTML = div.innerHTML + 'Extra stuff';

然后,您只需要一种调用该函数的方法。如果您想从您的 Obj-C 代码中调用它,您需要执行以下操作:

[self.webView stringByEvaluatingJavaScriptFromString:@"addText('text to add')"];

当然,您也可以使用像 jQuery 这样的框架来进一步抽象将文本添加到现有 HTML 的过程。查看以下链接,了解一些使用 Javascript 添加文本的示例:How to append data to div using javascript?

您甚至可能想要或能够进行所有动态加载——已经有用于无限滚动的现有 jQuery 插件。 (Google jQuery 无限滚动并仔细阅读那里的内容)

【讨论】:

嘿,即使在很久以前。谢谢您的回答。我还没有最终实施它,但我很快就会这样做。这看起来很简单,感谢您的解释

以上是关于如何将其他文本附加到 UIWebView的主要内容,如果未能解决你的问题,请参考以下文章

如何将输出附加到文本文件的末尾

如何将文本附加到'<textarea>'?

如何将文本附加到 Java 中的现有文件?

SwiftUI:如何将视图附加到多行文本的结尾?

Cython 编译将文本附加到文件名,如何摆脱它?

如何使用 PHP 将文本附加到特定标签内的外部 html 文件?