使用 CDN 清除页面内容

Using CDN clears page content

我在我的页面上有一个 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>

此引用位于 html 由 ajax 动态加载并添加 jQuery 的文件:

$.ajax({ url: action, cache: false }).done(
   function (data, textStatus, jqXHR) { contentCtrl.html(jqXHR.responseText); }
); 

但是在页面上添加这个html时,页面被清空,只剩下fallback的html。任何人都知道我该如何解决这个问题? (我怀疑这与从后备执行的 document.write 有什么关系?)

改为根据here document.write clears the page by calling document.open first after the page is loaded (which is your use case since I assume your ajax call happens after loading the page). You might want to look into $.getScript