【问题标题】:Calling Javascript Function again in different HTML file在不同的 HTML 文件中再次调用 Javascript 函数
【发布时间】:2014-11-22 16:39:04
【问题描述】:

我在 2 个 html 文件的头部包含了相同的 javascript 文件:

<script src="js/app.js"></script>

然后 html page1 链接到 html page2。但是,当您按照指向 page2 的超链接时,javascript 文件中的代码不会在 page2 加载时再次被调用。甚至当我尝试在 html 文件 2 的头部或主体中添加一段代码来调用 JS 文件中的函数时,它也永远不会执行。

我做错了吗?

编辑:这是代码 http://jsfiddle.net/dL6gpveL/1/

EDIT2:所以当我没有包含 JQuery Mobile 时,一切正常。知道为什么会发生这种情况吗?它的版本 1.4.5

EDIT3:对不起,我应该说我首先使用的是 jquery mobile。

【问题讨论】:

  • 这是不可能的。当您移动到新页面时,浏览器引擎会重新编译整个网页并以与之前相同的方式执行(忽略缓存概念)
  • 你能发布你的代码吗?
  • 您是否使用 AJAX 加载 page2?
  • 编辑:我使用 ajax 从 JS 函数加载页面内容。但是 page2 是通过超链接启动的

标签: javascript jquery html


【解决方案1】:

编辑:我尝试重现您的问题,但没有任何运气。加载 javascript 文件和执行函数没有问题。

我的设置:

"Folder/index.html"
"Folder/crews.html"
"Folder/js/app.js"
"Folder/js/jquery-1.11.1.min.js"

您的浏览器控制台在尝试加载 .js 文件时会显示什么内容?

编辑: 我注意到您正在尝试获取“js/jquery.mobile-1.4.5.min.map”,但您的 jquery 移动文件位于“js/jquery.mobile-1.4.5.min.js”。会不会跟这有关系?

编辑:jquery.mobile-1.4.5.min.map 上的 404 可能不相关。我的错。

但是在查看了所有页面的加载方式之后,我感到很困惑,我环顾四周。我发现了这篇关于 jquery mobile 的帖子: https://stackoverflow.com/a/17406387/3209951

尝试帖子中提到的 3 个步骤,看看是否有帮助。

还可以查看该帖子中的两个链接以获取有关 jquery mobile 的更多信息。

【讨论】:

  • 是的,我再次包含它。
  • Page2: jsfiddle.net/w5kxomvk 为简单起见,我将其与 page1 完全相同,但将不同的值传递给函数。
  • 另外,请注意我注释掉了 document.ready 函数,当它进入时我根本无法调用该函数。这可能与它有关吗?
  • 不,它是一个不同的页面,page1 是 index.html,page2 是 crowds.html
  • 加载第二页时控制台似乎没有记录任何内容。
【解决方案2】:

所以问题是当您使用 JQuery Mobile 时,头部中的内容不会再次加载。只有“页面”div中的代码。所以你必须在那里调用 JS 函数,它工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 2017-02-19
    • 2012-09-28
    • 2017-02-02
    • 2019-01-23
    • 1970-01-01
    相关资源
    最近更新 更多