如何将其他文本附加到 UIWebView 中

How can i attach additional text into a UIWebView

本文关键字:UIWebView 文本 其他      更新时间:2023-09-26

这是我的问题:

我需要找到一种方法在停留在滚动位置的同时将文本加载/附加到 UIWebView 中,以便在点击按钮时新文本无缝显示。

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

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

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

类似于 iBooks 中的 scrollView。

如果

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

助教

正如

你所怀疑的那样,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 添加文本的一些示例:如何使用 javascript 将数据附加到div?

您甚至可能希望或能够执行所有动态加载 - 已经有用于无限滚动的现有jQuery插件。(谷歌jQuery无限滚动并仔细阅读那里的内容)