diff --git a/apps/terminal/applets/chrome/app.py b/apps/terminal/applets/chrome/app.py
index 86a664c27..c92a3ff55 100644
--- a/apps/terminal/applets/chrome/app.py
+++ b/apps/terminal/applets/chrome/app.py
@@ -186,9 +186,9 @@ class WebAPP(object):
def default_chrome_driver_options():
options = webdriver.ChromeOptions()
- options.add_argument("start-maximized")
- # 禁用 扩展
- options.add_argument("--disable-extensions")
+ options.add_argument("--start-maximized")
+ options.add_argument("--new-window")
+
# 忽略证书错误相关
options.add_argument('--ignore-ssl-errors')
options.add_argument('--ignore-certificate-errors')
@@ -215,6 +215,7 @@ class AppletApplication(BaseApplication):
self.app = WebAPP(app_name=self.app_name, user=self.user,
account=self.account, asset=self.asset, platform=self.platform)
self._chrome_options = default_chrome_driver_options()
+ self._chrome_options.add_argument("--app={}".format(self.asset.address))
def run(self):
service = Service()
@@ -223,7 +224,6 @@ class AppletApplication(BaseApplication):
self.driver = webdriver.Chrome(options=self._chrome_options, service=service)
self.driver.implicitly_wait(10)
if self.app.asset.address != "":
- self.driver.get(self.app.asset.address)
ok = self.app.execute(self.driver)
if not ok:
print("执行失败")
diff --git a/apps/terminal/applets/chrome/extensions/disable_new_tab_window_menu/background.js b/apps/terminal/applets/chrome/extensions/disable_new_tab_window_menu/background.js
new file mode 100644
index 000000000..5a9a13b6b
--- /dev/null
+++ b/apps/terminal/applets/chrome/extensions/disable_new_tab_window_menu/background.js
@@ -0,0 +1,16 @@
+// background.js
+
+// 监听标签页的创建事件
+chrome.tabs.onCreated.addListener(function (tab) {
+ // 获取当前窗口的所有标签页
+ chrome.tabs.query({currentWindow: true}, function (tabs) {
+ // 如果当前窗口的标签页数量大于1,则关闭新创建的标签页
+ if (tabs.length > 1) {
+ chrome.tabs.remove(tab.id);
+ }
+ });
+});
+
+document.addEventListener("contextmenu", function (event) {
+ event.preventDefault();
+});
diff --git a/apps/terminal/applets/chrome/extensions/disable_new_tab_window_menu/content_script.js b/apps/terminal/applets/chrome/extensions/disable_new_tab_window_menu/content_script.js
new file mode 100644
index 000000000..f51c40254
--- /dev/null
+++ b/apps/terminal/applets/chrome/extensions/disable_new_tab_window_menu/content_script.js
@@ -0,0 +1,23 @@
+// content_script.js
+
+// 获取所有的 标签元素
+const links = document.getElementsByTagName('a');
+
+// 遍历 标签元素并修改链接属性
+for (let i = 0; i < links.length; i++) {
+ links[i].target = '_self'; // 将 target 属性设置为 _self,当前窗口打开
+}
+
+chrome.runtime.onMessage.addListener(
+ function (request, sender, sendResponse) {
+ $("iframe").attr("src", request.url);
+ sendResponse({farewell: "goodbye"});
+ }
+)
+
+document.addEventListener("contextmenu", function (event) {
+ event.preventDefault();
+});
+
+chrome.runtime.sendMessage({greeting: "hello"}, function (response) {
+});
diff --git a/apps/terminal/applets/chrome/extensions/disable_new_tab_window_menu/manifest.json b/apps/terminal/applets/chrome/extensions/disable_new_tab_window_menu/manifest.json
new file mode 100644
index 000000000..58ad2b4a1
--- /dev/null
+++ b/apps/terminal/applets/chrome/extensions/disable_new_tab_window_menu/manifest.json
@@ -0,0 +1,26 @@
+{
+ "manifest_version": 2,
+ "name": "禁止新标签窗口菜单",
+ "version": "1.0",
+ "description": "将所有链接替换为当前窗口打开, 并禁止新窗口和标签,隐藏右击菜单",
+ "background": {
+ "scripts": [
+ "background.js"
+ ],
+ "persistent": false
+ },
+ "content_scripts": [
+ {
+ "matches": [
+ "*://*/*"
+ ],
+ "js": [
+ "content_script.js"
+ ],
+ "run_at": "document_end"
+ }
+ ],
+ "permissions": [
+ "tabs"
+ ]
+}