【问题标题】:Recall external JS files after page transition finish页面转换完成后调用外部 JS 文件
【发布时间】:2013-07-10 22:06:22
【问题描述】:

我尝试过实现这种脚本(Page Transition):here

如提供的演示,一切正常。但只有一个我想不通的问题是:

我有 2 个 HTML 文件,即 index.html 和 index2.html。在 index.html 上,单击后我将带有页面转换效果的链接转到 index2.html,在 index2.html 上,我使用 body on-load 方法放入了一些警报脚本。

假设在正常实践中,警报将像我们在调试时看到的那样正常显示。但它没有出现任何东西。页面转换完成后似乎没有加载任何脚本。

谁能给我一个线索来解决这个问题?我尝试过的是使用:

location.reload(); window.location.reload();等等..直到我不知道要解决这个问题:(

*location.reload() 适用于桌面浏览器,但不适用于移动设备。我的首选目标浏览器是移动版。

请帮忙,非常感谢

用于演示目的和需要帮助:here

【问题讨论】:

    标签: javascript load external transition


    【解决方案1】:

    它没有被执行,因为页面从未真正加载。页面转换脚本的工作方式是通过 ajax 加载目标页面的内容,并用它替换页面的全部内容。

    从您提供的页面来看,该脚本似乎接受了在页面完成加载时调用的回调函数,您可以将“已加载”脚本放在那里。但请记住,正在执行的是第一页上的脚本。

    我不知道您要做什么,但我想您最好研究一下具有 URL 匹配的适当单页应用程序。有像 Backbone.js 这样的框架可以帮助你解决这个问题。

    【讨论】:

    • Yerrpp.. 我同意你的看法@that_guy。该脚本提供了回调方法,我们可以将“加载”脚本放在那里。但就像你说的,它会在第一页执行“加载”。所以,我的目标是进行页面转换,然后在转换页面完成后(带到第二个 HTML 页面),它将加载第二个页面具有的任何脚本。我不知道如何解决这种难题.. :(
    • 据我所知,您传递的唯一函数是一个名为onTransitionFinished的空函数,当然它什么也没做。
    • 哈哈...我把它空了,因为我不知道还能放什么。页面转换完成后,尝试了很多时间在第二页上加载外部 JS。最后,我将其设为空,以供任何人测试。 :)
    • 使用您现在使用的方法,现在可以执行 Javascript "onload",因为页面永远不会加载。你基本上还在第一页,所以你也需要把脚本放在那里。您可以做的是尝试从第二页提取脚本并在其上运行eval。更多信息:stackoverflow.com/questions/950087/… 我还注意到您使用的库中有一个错误。在 chrome 上,回调也会在第一个页面加载时调用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    • 2021-09-28
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多