我的页面上有一个对 CDN 的引用,其中包含一个后备脚本,以防无法访问。
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.5.1/knockout-latest.min.js" integrity="sha384-PA7LgTHoYGwvEy2evWvC3sNOQlmK/vfk//sStiSk3QK3fUDO8oN3VKvHgSPyVKqx" crossorigin="anonymous" ></script>
<script type="text/javascript">(window.ko)||document.write('<script type="text/javascript" src="/bundles/knockout?v=20200622" ><\/script>');</script>
此引用位于由 ajax 动态加载并使用 jQuery 添加的 html 文件中:
$.ajax({ url: action, cache: false }).done(
function (data, textStatus, jqXHR) { contentCtrl.html(jqXHR.responseText); }
);
但是当这个html添加到页面上时,页面就会被清除,只保留后备的html。有人知道我该如何解决这个问题吗? (我怀疑这与从后备执行的 document.write 有关?)
最佳答案
根据here document.write
在页面加载后首先调用 document.open
来清除页面(这是您的用例,因为我假设您的 ajax 调用在加载页面后发生)。您可能想查看 $.getScript
相反。
关于javascript - 使用CDN清除页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62508777/