无法获取文档.编写使用ajax的程序
Can't get document.write to work with ajax
我有一个使用文档的脚本。写,需要在ajax工作,但我有困难找到一个解决方案,使其工作。下面是通过ajax加载到页面中的脚本。
<script type="text/javascript">
example_widget_id = "example-1234";
example_widget_name = "registration";
example_widget_type = "example";
document.write(unescape("%3Cscript src='https://widgets.example.com/javascripts/example_widget.js' type='text/javascript'%3E%3C/script%3E"));
</script>
发生的是页面变成空白…这对于文档来说是正常的。编写和ajax。我试图找到一种方法来添加它通过innerHTML(或其他解决方案),但我没有运气。我看了看这个线程JavaScript文档。当使用AJAX时,Write会替换所有的Body内容但我似乎不知道如何用我现有的东西来做这件事。
谢谢你提供的任何帮助。
更新:该脚本片段是第三方小部件。它是通过将其插入前端网页编辑器中使用的,该编辑器允许用户在页面上的任何位置定位他们想要的内容(通过ajax)。一旦它被定位,它也可以与前端编辑器样式。当页面是用户想要的样子时,他们可以保存布局并禁用(关闭)前端编辑器,直到需要时再使用。当这种情况发生时,脚本(document.write)将加载并在页面上正常工作,而不会受到基于ajax的前端编辑器的干扰。我在想是否有一种方法来缓存文档的html结果。写(html部分),然后缓存的版本可以通过前端编辑器加载。然后,我可以用原始脚本w/document替换出小部件的html缓存版本。一旦前端编辑器被禁用或关闭,就写入。我摆弄了一下逻辑,我可以根据前端编辑器的状态来切换加载的内容。我想我的问题是能不能有文件。写内容是缓存还是保存?我想我可以处理之后使用它的逻辑
无解document.write()
在onload事件触发后替换文档。这是不可能的。
你不能让它工作*.
*注:从技术上讲,你可以使它工作,如果你写你自己的web浏览器,因为你将能够使你的浏览器不像所有其他浏览器的行为和附加而不是替换document.write()
。但你不能让它在Chrome、IE、Firefox或Opera上运行。
对于一个快速解决方案,使用.innerHTML
代替。要获得更好的解决方案,请学习DOM操作API(或使用DOM库)。
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 在AJAX回调和呈现PIXIJS之间处理程序流时遇到了问题
- 页面加载之前的jQuery Ajax加载程序
- 纯JS中的AJAX完整处理程序
- 为什么有些jQuery程序员使用像$.get、$.getJSON和$.when这样的jQuery函数来代替$.ajax
- 用于各个元素的Ajax加载程序
- jQuery$.ajax扩展程序XDomainRequest
- 显示全屏Ajax加载程序的最佳方式
- 无法在Windows 10 Cordova应用程序中从Web视图进行ajax调用
- 如何在rails应用程序中测试AJAX加载的内容
- 如何在发送ajax请求时显示进度加载程序
- 如何更改jquerymobile中默认的加载ajax加载程序gif
- 如何在AJAX驱动的应用程序中优化元素绑定
- 如何在phonegap应用程序中处理Ajax json响应
- Ruby On Rails应用程序与angularJS关于AJAX
- 强制jQuery Deferred等待Ajax在“”中完成;那么“;处理程序
- Ajax程序在chrome上无法运行
- AJAX程序 不在 Webstie 上运行,但在本地 WAMP 服务器上运行良好
- Ajax程序没有像我期望的那样运行
- AngularJS组织简单Ajax程序