所以我正在制作一个使用网站界面的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);
},
整天都在努力工作,如果有人愿意的话我也不会去,我会喜欢它。