【发布时间】:2018-02-23 14:59:17
【问题描述】:
当我的网页加载完毕后,它会运行这个脚本:
$(function() {
return $.ajax({
type: "get",
dataType: "json",
url: "/get_script",
success: function(data, status, xhr) {
return $("#myScript").html(data.myScript);
}
});
});
脚本从我的服务器获取另一个脚本(data.myScript 对象)。添加到我的网页的新脚本如下所示:
<script>
initScript = function() {
return window.random_string = Math.random().toString(36).substring(7);
};
$(window).bind("popstate", 'hashchange', function() {
return initScript();
});
window.random_string = null;
initScript();
</script>
如果新脚本需要为网页上的其他脚本提供变量,我将它们放入 window.my_variable 变量中,但我希望能够调用例如MyScript.random_string.
我还希望能够从其他脚本触发initScript 函数。就像例如MyScript.initScript()
我如何做到这一点?
【问题讨论】:
-
首先我建议使用
$.getScript来加载你的JS 代码,假设你不能将它直接嵌入到<script>标记中。要解决您的实际问题,您只需要以您需要的方式构建它。只需创建一个像var MyScript = {};这样的对象,然后将所有函数和变量作为属性放在该对象中 -
感谢@RoryMcCrossan,但如果您能将以上内容放入答案中,我将非常感激。
-
好的,我给你加了
标签: javascript jquery