javascript - 使用CDN清除页面内容

标签 javascript html jquery knockout.js cdn

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

相关文章:

javascript - 在 Internet Explorer 8 中创建 HTML 模态窗口

javascript - 为什么 jquery offsetParent() 返回 html 而 native javascript 返回 body

html - Flex/Grid 布局不适用于按钮或字段集元素

javascript - 当单击某个元素或其子元素时,如何获取该元素的 ID?

javascript - 如何将 CSS 过渡设置为新元素或使用 JavaScript 执行相同操作

javascript - Mouseenter和MouseLeave同时触发

javascript - Angular.js : Create 2 html containers using ng-repeat

javascript - 1 个模块的 ui-view 从另一个模块复制内容

html - 两列 Bootstrap 布局

html - 使元素保持在相同位置而不换行