找回密码
 立即注册

QQ登录

只需一步,快速开始

Tennis3.0

中级会员

13

主题

87

帖子

610

积分

中级会员

积分
610
Tennis3.0
中级会员   /  发表于:2024-9-5 21:36  /   查看:557  /  回复:7
作为活字格开发人员,每次在设计器中运行工程后,希望刷新当前标签页,不要在新的标签页中重复打开应用。

7 个回复

倒序浏览

高级会员   /  发表于:2024-9-6 11:15:25
来自 2#
您想要实现一个功能:当在Chrome中打开一个与当前已打开页面地址相同的链接时,浏览器应该刷新现有页面,而不是在新标签页中打开。

这个功能确实不是Chrome的默认行为,但我们可以通过创建一个Chrome扩展来实现这一功能。以下是实现这个功能的步骤:

1. 创建一个新的目录来存放扩展文件。

2. 在该目录中创建以下文件:

   a. `manifest.json`
   b. `background.js`

3. 在 `manifest.json` 文件中添加以下内容:

```json
  1. {
  2.   "manifest_version": 2,
  3.   "name": "Same URL Refresher",
  4.   "version": "1.0",
  5.   "description": "Refreshes existing tab if URL is the same",
  6.   "permissions": [
  7.     "tabs",
  8.     "<all_urls>"
  9.   ],
  10.   "background": {
  11.     "scripts": ["background.js"],
  12.     "persistent": false
  13.   }
  14. }
复制代码


```

4. 在 `background.js` 文件中添加以下代码:

```javascript
  1. chrome.tabs.onCreated.addListener(function(tab) {
  2.   chrome.tabs.query({}, function(tabs) {
  3.     for (let existingTab of tabs) {
  4.       if (existingTab.id !== tab.id && existingTab.url === tab.pendingUrl) {
  5.         chrome.tabs.update(existingTab.id, {active: true});
  6.         chrome.tabs.reload(existingTab.id);
  7.         chrome.tabs.remove(tab.id);
  8.         return;
  9.       }
  10.     }
  11.   });
  12. });
复制代码


```

5. 安装扩展:
   a. 打开Chrome浏览器,进入 `chrome://extensions/`
   b. 开启右上角的"开发者模式"
   c. 点击"加载已解压的扩展程序"
   d. 选择您创建的包含这两个文件的目录

这个扩展的工作原理如下:

1. 它监听新标签页的创建事件。
2. 当新标签页被创建时,它会检查所有现有标签页。
3. 如果发现有现有标签页的URL与新创建的标签页的URL相同:
   - 它会激活并刷新现有的标签页
   - 然后关闭新创建的标签页

这样,当您尝试打开一个与已有标签页URL相同的链接时,扩展会刷新现有的标签页,而不是在新标签页中打开。

请注意,这个扩展可能会影响一些网站的正常使用,特别是那些依赖于在新标签页中打开相同URL的网站。如果遇到问题,您可以随时禁用或卸载这个扩展。

您是否需要我解释这段代码的具体工作原理,或者您对如何使用这个扩展有任何其他问题吗?
回复 使用道具 举报

高级会员   /  发表于:2024-9-6 11:17:06
板凳


有效果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Tennis3.0
中级会员   /  发表于:2024-9-6 11:33:00
地板

谢谢,稍后我试一下,然后来反馈。
我突然意识到我提的需求可能跟活字格没有关系,应该是浏览器的行为。
回复 使用道具 举报
lovert
银牌会员   /  发表于:2024-9-6 17:24:00
5#
Tennis3.0 发表于 2024-9-6 11:33
谢谢,稍后我试一下,然后来反馈。
我突然意识到我提的需求可能跟活字格没有关系,应该是浏览器的行为。

你点击保存工程后,在浏览器F5刷新即可,不需要点击运行
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2024-9-6 18:31:21
6#
lovert 发表于 2024-9-6 17:24
你点击保存工程后,在浏览器F5刷新即可,不需要点击运行

刘亦菲的方案趋势很牛逼,但是有点子麻烦。
我个人推荐这个方案,这是大部分人的选择,省事简单
哈哈~
回复 使用道具 举报
Tennis3.0
中级会员   /  发表于:2024-9-8 16:56:59
7#

试过了,的确有效,最佳答案。
回复 使用道具 举报
Brian.Zhang
超级版主   /  发表于:2024-9-9 17:43:49
8#
Tennis3.0 发表于 2024-9-8 16:56
试过了,的确有效,最佳答案。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部