我正在尝试使用 target="_blank"
在新选项卡中打开链接,但由于某种原因它不起作用。
link.php
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script src="somejs.js"></script>
somejs.js
function loadFunction() {
$.getJSON("data.php", function (data) {
info = data.info;
console.log(info);
});
}
loadFunction();
如您所见,somejs.js 包含 JSON 脚本。
当 link.php
的页面在新选项卡中加载时,JSON REQUEST 不会显示在控制台中。但是,如果我先刷新页面,则请求将显示在控制台中。当我尝试在新选项卡中手动打开页面时,JSON REQUEST 也可用。
怎么了?
这是截图
直接链接或刷新
新标签
最佳答案
从评论中我认为存在术语混淆。当您提到您在控制台中没有看到请求时,我相信您指的是网络调试器。
控制台有所不同,这就是为什么其他用户告诉您如果您希望在 Javascript 控制台上看到任何内容,请使用 console.log()
。
您所遇到的情况是浏览器的特殊情况。如果您在加载页面之前打开了调试器/检查器,则“网络”选项卡应显示通过 AJaX 完成的任何请求。如果没有,那么浏览器端的一些技术问题会阻止显示它,但调用已完成(您可以通过 console.log()
进行测试)。
When link.php's page is loaded in a new tab, the JSON REQUEST is not shown in the console.
JSON REQUEST is also available when I try to open the page in a new tab manually.
从这两条评论中,我推断出您在“网络”选项卡上看不到调用的唯一情况是当您的页面 A 带有在新选项卡上打开 link.php
的链接时。
如果是这种情况,那是因为您正在查看的调试器属于页面 A。然后您打开一个新选项卡,该选项卡尚未打开调试器,并且任何从 link.php 完成的请求
没有任何地方可以显示。
如果您在打开自己的调试器面板的情况下刷新 link.php
,那么您确实会看到该请求。如果您在已打开调试器的新选项卡中手动调用 link.php
,情况也是如此。
关于javascript - 在新选项卡中打开页面时,JSON 或 AJAX 请求未显示在控制台中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41236898/