更新
我尝试在Android设备上使用BrowserComponent:如果我触摸设备的后退按钮,该应用程序什么也不做(下面的代码)。
更新:这是我的代码的最后一个版本
public void start() {
if (current != null) {
current.show();
return;
}
Form hi = new Form("Community", new BorderLayout());
// Suppress Android native indicator
Display.getInstance().setProperty("WebLoadingHidden", "true");
// Create the BrowserComponent
browser = new BrowserComponent();
// Set user-agent
browser.setProperty("useragent", appAgent);
// Set the start page - TO CORRECT, it's messy
if (Display.getInstance().isSimulator()) {
// I added this condition because opening a local html page
// causes that the Simulator crashes
browser.setURL(startPage_development);
Log.p("BrowserComponet setUrl: " + startPage_development);
} else {
try {
if (!Display.getInstance().isSimulator()) {
browser.setURLHierarchy("/community.html");
} else {
browser.setURLHierarchy("/testing.html");
}
Log.p("BrowserComponet setURLHierarchy successfully");
} catch (Exception err) {
Log.e(err);
browser.setURL(startPage);
Log.p("BrowserComponet setUrl: " + startPage);
}
}
// Javascript Bridge for back command
JavascriptContext context = new JavascriptContext(browser);
// JSObject document = (JSObject) context.get("document");
JSObject window = context.getWindow();
hi.setBackCommand(new Command("Back") {
@Override
public void actionPerformed(ActionEvent evt) {
//window.call("goBackButton()");
window.call("eval", new Object[]{"history.go(-1);"});
}
});
// Allow browsing only inside my domains
browser.setBrowserNavigationCallback((url) -> {
if (url.startsWith("javascript")
|| url.startsWith(url_Root_development)
|| url.startsWith(url_Root_production)
|| url.startsWith(loginRoot)) {
return true; // the BrowserComponent should navigate
} else {
Display.getInstance().callSerially(() -> {
// it opens the url with the native platform
Boolean can = Display.getInstance().canExecute(url);
if (can != null && can) {
Display.getInstance().execute(url);
}
});
return false; // the BrowserComponent shouldn't navigate
}
});
hi.add(BorderLayout.CENTER, browser);
hi.show();
}
使用setbackCommand
重写后退按钮行为,并设置您可能拥有的任何业务逻辑,包括对JavaScript代码的调用。
我有两项活动。其中一个有碎片<从这个片段中,我可以转到另一个活动,但单击“主页”按钮,它会转到上一个活动,而不是转到上一个活动的片段。 图像
问题内容: 我在尝试使用history.pushstate事件时遇到了一些问题。我进行了设置,以使页面的url是通过AJAX加载的页面的实际URL,并且可以正常工作。 我了解它应该自动创建历史记录,以加载先前加载的页面。不幸的是,帽子没有发生,当我单击后退时,URL确实会更改,但页面不会更改。你能帮助我吗?这是我的简化代码: 问题答案: 想通了,我刚刚添加: 到页面末尾
读取播放历史信息 调用地址 http://api.bilibili.cn/history 返回 返回值字段 字段类型 字段说明 results int 返回的记录总数目 list object 返回数据 返回字段 “list” 子项 返回值字段 字段类型 字段说明 aid int 视频编号 typeid int 视频分类ID typename string 视频分类名称 title string
历史记录 控制台维护 Elasticsearch 成功执行的最后500个请求列表。点击窗口右上角的时钟图标即可查看历史记录。这个图标会打开历史记录面板,您可以在其中查看历史请求。您也可以在这里选择一个请求,它将被添加到编辑器中当前光标所在的位置。 图 9. 历史记录面板
3.3.1.1. 同步的文件历史记录 微力同步记录对文件的添加,修改、删除的操作记录,通过历史记录列表可查看时间时间及发生设备,如下: 事件时间,显示添加、修改、删除等操作发生的时间; 文件时间,显示该文件的最后修改时间; 操作类型,显示此次针对该文件所进行的操作的类型; 发生设备,显示进行此操作的设备名称; 目录,显示该文件所属同步目录; 清空历史记录,点击后可清除所有记录,此操作仅清除记录而已
问题内容: 当我使用Firefox上的后退按钮访问先前访问的页面时,该页面上的 脚本将不会再次运行 。 是否有 任何修复/替代方法 可让脚本在第二次查看页面时再次执行? 请注意,我已经在Google Chrome和Internet Explorer上测试了相同的页面,它们可以正常工作。 这是我用来测试问题的文件和步骤: (导航至0.html,单击以获取1.html,后退按钮) 0.html 1.h