1

这就是我在 div 下添加图像标签的方式

<img src='/files/images/remove.gif' border='0' " + 
               "  onClick='function(\"" + url + "\");' />";

当我在 Firefox 中打开我的页面时,一切正常,这里的 HTML 是在 FF 中生成的

<div class="myclass"><img border="0" onclick="myfunction(&quot;http://127.0.0.1:8080/abc/attachments/1d28bc6b-f637-426f-8bca-e27f1c6f2ed9/debug.txt&quot;);" src="/files/images/remove.gif">&nbsp;
</div>

但是在 Chrome 中,HTML 会像这样生成

<div class="myclass"><img src="/files/images/remove.gif" border="0" onclick="myfunction(" http:="" 127.0.0.1:8080="" abc="" attachments="" 1d28bc6b-f637-426f-8bca-e27f1c6f2ed9="" debug.txt");"="">&nbsp;
</div>

查看它添加额外引号和 = 符号的 url。

谁能帮我理解这里出了什么问题,这个问题的任何解决方法/解决方案?

谢谢。

4

2 回答 2

0

您在两者之间使用了一些服务器基础设施,这些基础设施不是纯 HTML 或 JS,所以我们无法提供适当的帮助。你有onClick(看起来像.net),中间有+“”+,这不是纯HTML。

我在这里创建了一个复制:http: //jsbin.com/ubacak/latest注意,我更改了您的代码,只是将它作为纯 js + html 使用,一切都很好。

于 2013-07-10T14:38:38.213 回答
0

好吧,起初,它看起来像是您的脚本中的一个错误,它发出了onclick. 但是,它也会出现在其他浏览器中..

但是,让我们从这个视图尝试并假设它是您的代码中的错误,而不是 Chrome。

onclick由JS代码生成的,还是在服务器上生成的?如果在 JS 上,请向我们展示生成和设置该onclick处理程序的代码,以确保它是正确的。

OTOH,如果它是在服务器上生成的(即 PHP、ASP、Ruby 等),那么您是否尝试过查看通过网络发送的确切内容?打开 Chrome 的 DeveloperTools,转到“网络”并刷新页面。然后观察“响应”并检查其中嵌入的 HTML 代码是否正确。如果不正确,则在服务器端脚本中查找错误。如果响应中看到的 HTML 是正确的,那么它确实是浏览器。

如果是后一种情况 - HTMLInspector 向您显示标签/链接已损坏,这并不意味着它必须出现故障。Inspector 也只是一个软件,因此它在解析/显示方面可能存在一些错误 - 但 HTML 标签可能是正确的并且可以正常工作。我之前曾多次看到类似的错误显示与各种 URL,但链接始终正常工作。尝试打开 ChromeConsole 并 $jquerying 来自该 onclick 的 URL。您可能会得到正确的结果——在这种情况下,这只是演示错误,点击/链接应该可以正常工作——所以忽略它或将其作为错误报告给 Google。如果获得的 URL 不正确,我会对 Network/Response 中的 HTML 进行双重或三重检查,以确保它的格式确实正确,然后我将其称为错误并尝试解决它 - i。e. 通过在onload等中通过JS设置它。

于 2013-07-10T09:55:11.200 回答