【问题标题】:setSrc: of DOMHTMLImageElement does not change the Image in WebViewDOMHTMLImageElement 的 setSrc: 不会改变 WebView 中的 Image
【发布时间】:2015-04-16 09:46:48
【问题描述】:

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

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

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

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

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

   [(DOMHTMLImageElement*)node setSrc:newPath];

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

虽然我能够看到 src: 在 WebView 中的变化(通过打印 innerHTML)。我在 WebView 上看不到新图像。该图像似乎只有在使用 loadHTMLString: 重新加载整个 WebView 时才会显示

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

非常感谢您的帮助。

【问题讨论】:

    标签: html macos cocoa webkit


    【解决方案1】:

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

    我正在以下列方式从字符串加载 Web 视图。

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

    由于 baseUrl 的存在,我觉得本地文件 url (file://) 已失效,因为图像从未加载。如果我将上面的代码更改如下,我发现当我调用setSrc:时图像会立即渲染

     [[WebView mainFrame] loadHTMLString:htmlString baseUrl:nill];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-26
      • 1970-01-01
      相关资源
      最近更新 更多