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];
我在动态更改 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。
非常感谢您的帮助。
通过一些实验,我发现我做错了什么。另外我觉得我没有在我的问题中添加这一关键信息。
我按以下方式从字符串加载 Web 视图。
[[WebView mainFrame] loadHTMLString:htmlString baseUrl:[NSURL UrlWithString:@"http://"]];
在这里,由于 baseUrl 的存在,我觉得本地文件 url (file://
) 因图像从未加载而失效。如果我按以下方式更改上面的代码,我发现当我调用 setSrc:
[[WebView mainFrame] loadHTMLString:htmlString baseUrl:nill];