【问题标题】:Javascript converts img src to invalid base64Javascript 将 img src 转换为无效的 base64
【发布时间】:2017-01-31 05:16:49
【问题描述】:

我尝试从 web.whatsapp.com 检索个人资料图标。源代码浏览器以及使用 javascript 检索的 img 节点向我显示了一个指向我想要获取的图像的常规静态链接(https:....)

Image tag retrieved with javascript

检索正确的 src 应该是一项微不足道的任务,但不管我是否使用

image.src or image.getAttribute('src')

对于我尝试获取的任何图片,我总是以相同的 base64 字符串结束。如何提取图片标签的src而不被转换成乱码?

Result of the image.src

这是在 Mac 上使用 google chrome 上的 tampermonkey 完成的。

编辑:根据要求提供更多信息:

<img src="https://dyn.web.whatsapp.com/pp?t=s&amp;u=4915786584978%40c.us&amp;i=1484932082&amp;ref=1%40%2FOBUmUFr2127pJ5jnyNl9BylFIWp6h2FiEm475nQg0gtYw%2FSf7tuwfp9&amp;tok=1%4016ljMAEqnFIwx%2FcEvV4mq6VdicCO59U5CXvI%2FDlEBR09UnXl5bHnAXdEBO3r3zPVMNP7W4g2BWMmNw%3D%3D" draggable="false" class="avatar-image is-loaded">

base64 字符串不以“;”开头。这只是我的控制台调试的一部分。简单的内容如下所示。

data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7

【问题讨论】:

  • 您能否在问题中包含img src 的文本? img src 实际上是否以 ; 字符开头?图片链接通常无助于确定问题。
  • 谢谢。我已对问题进行了编辑以包含所请求的信息。
  • 如何获得data URI &lt;img&gt; src 设置为外部 URL?
  • 我希望这是您要查找的信息: 可以在此处找到 javascript 代码:https://jsfiddle.net/mo10m1L0/ 图像中看到的 img 标记和编辑通过 javascript 使用以下命令检索。 var profileIconElement = conversation.getElementsByClassName('avatar-body')[0].getElementsByTagName('img');调用 profileIconElement.src 会返回
  • jsfiddle 中不包含html

标签: javascript image base64 tampermonkey


【解决方案1】:

看起来即使 javascript 脚本等待执行,直到图像 dom 对象被创建,src 仍未设置。执行中的小延迟解决了问题

【讨论】:

    猜你喜欢
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    相关资源
    最近更新 更多