V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
leehon
V2EX  ›  问与答

前端问题:页面刷新后,脚本运行不正常了

  •  
  •   leehon · 2016-04-29 20:10:20 +08:00 · 2053 次点击
    这是一个创建于 2912 天前的主题,其中的信息可能已经有所发展或是发生改变。
    需求是不断刷新页面,获取页面中的一个值。我借鉴了一段在 chrome 控制台运行的代码,能正常工作

    var timeout = 1000;
    current = location.href;
    setTimeout('reload()', timeout);
    function reload() {
    setTimeout('reload()', timeout);
    fr4me = '<frameset cols=\'*\'>\n<frame src=\'' + current + '\'/>';
    fr4me += '</frameset>';
    with(document) {
    write(fr4me);
    void(close())
    };
    }
    获取页面数据的需求,我写了如下代码:

    var content = document.getElementsByTagName('html')[0].innerHTML;
    var id = content.substring(content.indexOf('id:'),content.indexOf(','));
    cosole.info(id);

    我试过把代码添加到 reload()函数,第一次是正常的。页面刷新以后,就获取不到值了,求解应该放在哪里,能在每次刷新页面后都正常
    3 条回复    2016-04-29 23:47:36 +08:00
    ss098
        1
    ss098  
       2016-04-29 20:36:27 +08:00   ❤️ 1
    没有细看代码,需求看的也不是太懂,根据文字描述臆测出以下内容:

    刷新页面后页面将重新加载,故页面中的所有 JavaScript 变量将重新初始化。可能正确的解决方案是使用 HTML5 本地化存储 API ,例如 localStorage 。
    horizon
        2
    horizon  
       2016-04-29 23:06:51 +08:00 via iPhone   ❤️ 1
    不忍直视的代码
    leehon
        3
    leehon  
    OP
       2016-04-29 23:47:36 +08:00
    @ss098
    @horizon
    谢谢,发现问题了。刷新以后,获取到的内容是框架那几句代码,最终写了个简单的 php
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1514 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:05 · PVG 01:05 · LAX 10:05 · JFK 13:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.