setSrc: of DOMHTMLImageElement 不改变WebView中的Image

setSrc: of DOMHTMLImageElement does not change the Image in WebView

我在动态更改 WebView 上的图像时遇到了一些问题。我试图通过更改图像标记的 src: 属性来实现这一点。这是我目前正在做的事情。

1) 识别 WebView 中的所有图像标签

   [[WebView mainFrameDocument] getElementsByTagName:@"IMG"]

2) 上面的代码会给我一个DOMNodeList

3) 我遍历所有图像节点并尝试将 src 更改为某个本地路径。

   [(DOMHTMLImageElement*)node setSrc:newPath];

请注意,我正在为上面的 src 使用文件 url,格式为 file:///Users/Desktop/File.png

尽管我能够在 WebView 中看到 src: 的变化(通过打印 innerHTML)。我在 WebView 上看不到新图像。该图像似乎只有在使用 loadHTMLString:

重新加载整个 WebView 时才会显示

有人可以告诉我是否可以重新加载图像而不必重新加载整个 WebView。

非常感谢您的帮助。

通过一些实验,我发现我做错了什么。另外我觉得我没有在我的问题中添加这一关键信息。

我按以下方式从字符串加载 Web 视图。

[[WebView mainFrame] loadHTMLString:htmlString baseUrl:[NSURL UrlWithString:@"http://"]];

在这里,由于 baseUrl 的存在,我觉得本地文件 url (file://) 因图像从未加载而失效。如果我按以下方式更改上面的代码,我发现当我调用 setSrc:

时图像会立即呈现
 [[WebView mainFrame] loadHTMLString:htmlString baseUrl:nill];