Javascript没有chaning html标签

时间:2016-09-26 00:59:58

标签: javascript java

所以我正在制作一个使用网站界面的java应用程序。我有一个设置按钮,打开一个弹出菜单,用户可以在其中更改他们的名字,图片等。当他们更改他们的名字或图片时,它将保存他们已经更改它并关闭我想要的弹出菜单。但是在主屏幕关闭后,用户可以在侧面看到他们的图片和名称,它不会更新。

这是保存它的按钮。的工作原理。

<button id="saveSettings" type="button" class="btn btn-primary" data-dismiss="modal">Save changes</button>

现在这里是&#39; saveSettings&#39;。这半成品。

        $('#saveSettings').click(function() {
        settings.save();
        loadSettings();
    });

这是settings.save

    save: function() {
    var scanExcludes = settings.getExcludes();
    var scanRestrictions = settings.getRestrictions();
    var scanPaths = settings.getAllScanPaths();
    var searchEngine = settings.getDefaultSearchEngine();
    var displayName = settings.getUsername();
    var avatarPath = settings.getAvatar();
    saveSettings(scanExcludes, scanRestrictions, scanPaths, searchEngine, displayName, avatarPath);
    alertify.success("Settings Saved.");
},

这是loadSettings

        browser.registerFunction("loadSettings", args -> {
        final Thread one = new Thread() {
            @Override
            public void run() {
                final JuicySettings settings = new JuicySettings();
                settings.loadSettings(browser);
            }
        };
        one.start();
        return JSValue.create(true);
    });

    public void loadSettings(final Browser browser) {
    final String data = FileUtil.readFile(settingsPath, StandardCharsets.UTF_8);
    final String bytesEncoded = Base64.encode(data.getBytes());

    String script = "settings.load('%s');";
    script = String.format(script, bytesEncoded);
    script = script.replaceAll("[\r\n]+", " ");

    browser.executeJavaScript(script);
}

这是加载功能。

    load: function(data) {
    var decoded = atob(data);
    var jsonData = JSON.parse(decoded);
    settings.setDisplayName(jsonData.displayName);
    settings.setAvatar(jsonData.avatarPath);
    settings.setScanPaths(jsonData.scanPaths);
    settings.setRestrictions(jsonData.scanRestrictions);
    settings.setExcludes(jsonData.scanExcludes);
    return true;
},

调用saveSettings时,&#39; settings.save();&#39;工作良好。但是loadSettings不会更新显示名称和头像。

这是setDisplayName和setAvatar函数。

    setAvatar: function(path) {
    $('#settingsAvatar').attr('src', path);
    $('#sideBarAvatar').attr('src', path);

},
setDisplayName: function(displayName) {
    $('#inputDisplayName').val(displayName);
    $('.nav-username').html(displayName);
},

整天都在努力工作,如果有人愿意的话我也不会去,我会喜欢它。

0 个答案:

没有答案