gpt4 book ai didi

javascript - jQuery ajax 似乎没有在 Chromium 中读取 HTML 数据

转载 作者:行者123 更新时间:2023-11-30 06:49:20 24 4
gpt4 key购买 nike

我有一个 HTML(应用程序)文件,它通过 jQuery.ajax() 读取另一个 HTML(数据)文件。然后,它会在数据 HTML 文件中找到特定的标签,并使用标签中的文本来显示各种工具提示。

这是应用程序 HTML 文件:

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>Test</title>

<style type="text/css">
<!--/* <![CDATA[ */
body {
font-family : sans-serif;
font-size : medium;
margin-bottom : 5em;
}
a, a:hover, a:visited {
text-decoration : none;
color : #2222aa;
}
a:hover {
background-color : #eeeeee;
}
#stat_preview {
position : absolute;
background : #ccc;
border : thin solid #aaa;
padding : 3px;
font-family : monospace;
height : 2.5em;
}
/* ]]> */-->
</style>

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
//<![CDATA[

$(document).ready(function() {
$("#stat_preview").hide();

$(".cfg_lnk").mouseover(function () {
lnk = $(this);
$.ajax({
url: lnk.attr("href"),
success: function (data) {
console.log (data);
$("#stat_preview").html("A heading<br>")
.append($(".tool_tip_text", $(data)).slice(0,3).text())
.css('left', (lnk.offset().left + lnk.width() + 30))
.css('top', (lnk.offset().top + (lnk.height()/2)))
.show();
}
});
}).mouseout (function () {
$("#stat_preview").hide();
});
});

//]]>
</script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>Test</h1>
<ul>
<li><a class="cfg_lnk" href="data.html">Sample data</a></li>
</ul>
<div id="stat_preview"></div>
</body>
</html>

这是数据 HTML

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>Test</h1>
<table>
<tr>
<td class="tool_tip_text"> Some random value 1</td>
<td class="tool_tip_text"> Some random value 2</td>
<td class="tool_tip_text"> Some random value 3</td>
<td class="tool_tip_text"> Some random value 4</td>
<td class="tool_tip_text"> Some random value 5</td>
</tr>
<tr>
<td class="tool_top_text"> Some random value 11</td>
<td class="tool_top_text"> Some random value 21</td>
<td class="tool_top_text"> Some random value 31</td>
<td class="tool_top_text"> Some random value 41</td>
<td class="tool_top_text"> Some random value 51</td>
</tr>
</table>
</body>
</html>

这在 Firefox 中按预期工作,但在 Chrome (Chromium 5.0.356.0) 中却没有。

console.log (data) 在 Chromium 的 JavaScript 控制台中显示空字符串。然而,Firefox 中的 Firebug 显示整个数据 HTML。

我错过了什么吗?有什么指点吗?

最佳答案

不确定答案,但我可以想到一些调查途径:

  1. 数据是对象(而不是字符串?)可能 Chromium 控制台不知道如何显示它。您可以尝试另一种输出方法来测试它,或者查看提供“dataType”设置是否有任何不同。
  2. 是否在 Chromium 中调用了成功回调?可能是错误或某些浏览器安全功能(例如跨站点脚本保护或禁用 javascript)阻止了它。
  3. 试验您的代码应该生成的 HTML/CSS 的静态版本,并确保它在两种浏览器中都能正确显示。

关于javascript - jQuery ajax 似乎没有在 Chromium 中读取 HTML 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2550570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com