作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景:我正在尝试创建一个在单个页面中运行的在线应用程序。该页面将有一个元素,当用户浏览应用程序时,我将在运行时更改该元素的内容。我想在运行时加载内容以避免应用程序的初始加载时间过长。
问题:随着我的进展加载页面元素我想我已经掌握了,但我无法弄清楚如何加载 JavaScript 来处理每组元素。加载元素。我以为我会使用 eval()
,但是我遇到了一个问题 - 我收到如下错误:ReferenceError: testEval is not Defined
,所以 eval()
似乎没有加载我期望的函数。下面的代码重现了该问题。
我是否遗漏了有关如何使用 eval 的信息?有替代方案吗?
我正在考虑在评估的脚本中创建一个对象,然后引用它以使用其函数并使用 bind()
设置事件处理。然而,我的印象是我可能把这个问题过度复杂化了(正如我倾向于的那样),这是不必要的。另外,它也在绞尽脑汁地试图弄清楚如何向没有对象构造函数创建的对象添加一个函数(另一个函数,D'oh!)。
请帮忙。
function publiListElementLoad(result) {
testEval();
}
function publiListScriptLoad() {
eval("function testEval(){}");
}
publiListScriptLoad();
publiListElementLoad(result);
最佳答案
您可以根据需要动态创建脚本标签来获取额外的 JS:
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'somefile.js';
head.appendChild(script);
关于javascript - 有没有办法让 eval() 加载函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25219129/
我是一名优秀的程序员,十分优秀!