我有一个较旧的表单验证表单,它依赖于原型库。
不幸的是我无法在页面级别加载它,
那我该如何处理这个问题呢?
我知道每个带有表单的页面都包含以下脚本:
在剧本中我想做的事情
document.write(unescape("%3Cscript src='//ajax.googleapis.com/ajax/libs/prototype/1.6.1/prototype.js' type='text/javascript'%3E%3C/script%3E"));
但它之前没有加载原型。脚本。
我做错了什么?
好的,DOM序列很清楚。
但是,我将如何加载:
document.write(unescape("%3Cscript src='//ajax.googleapis.com/ajax/libs/prototype/1.6.1/prototype.js' type='text/javascript'%3E%3C/script%3E"));
然后执行文件本身的代码。
答案 0 :(得分:0)
您正在DOM中生成一个新的脚本元素,下一步可以添加一个。
此点紧跟在当前脚本元素之后。
当前脚本元素中的任何代码都不能使用它,因为在当前元素的执行完成之前它不会被加载。
由于您使用的是jQuery,因此可以使用getScript()
,它允许您传递回调方法。将依赖于动态加载的脚本的任何代码移动到回调中。
答案 1 :(得分:-1)
您应该将脚本添加到dom的头部:
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'http://ajax.googleapis.com/ajax/libs/prototype/1.6.1/prototype.js';
headID.appendChild(newScript);