Buộc Chrome mở các trang mới trong cửa sổ mới, không phải tab? (khi được mở từ một chương trình)


45

Bất cứ khi nào tôi nhấp vào một liên kết từ một cái gì đó như triển vọng hoặc một chương trình sẽ mở một trang web (không phải khi tôi nhấp vào một liên kết từ bên trong chrome ). Nó mở ra trong Chrome vì đây là trình duyệt mặc định của tôi nhưng nếu tôi đã mở một trang, nó sẽ mở trong một tab mới trên cùng một cửa sổ. Tôi không thể nói với bạn bao nhiêu lần tôi quên điều này và đóng cửa sổ ra, vô tình làm mất tab khác. Tất nhiên, tôi có thể mở một cửa sổ chrome mới và tìm thấy nó trong các tab đã đóng gần đây nhưng tôi thực sự chỉ thích nếu chúng mở trong cửa sổ riêng của họ để tôi có thể ngăn chặn điều này.

Câu trả lời:


28

Vấn đề

Đối với Linux, nếu bạn có nhiều máy chủ VNC, vấn đề tương tự sẽ xảy ra.
Đó là,

$ google-chrome
Created new window in existing browser session

Và không có cửa sổ google chrome nào xuất hiện trong phiên X VNC hiện tại (một tab mới sẽ xuất hiện trong phiên X với phiên bản đầu tiên của google-chrome).

Dung dịch

Một cách giải quyết đơn giản là chạy

$ google-chrome "--user-data-dir=${HOME}/.google-chrome/session${DISPLAY}"

Cái này đặt một thư mục người dùng duy nhất dựa trên thể hiện X VNC đang sử dụng . Thư mục người dùng sẽ được tạo khi cần thiết. Quy google-chrometrình mới sẽ hiển thị trong phiên X VNC hiện tại.

Đã thử nghiệm bằng Google Chrome phiên bản 22 trên Ubuntu 12.04.


6
Đây là một trong những cơ quan quan trọng nhất của văn bản trên internet. Tôi chào bạn.
Jonathan Feinberg

2
google-chrome --new-windowđã làm điều đó cho tôi.
Nikana Reklawyks

Cảm ơn @NikanaReklawyks. Có vẻ như --new-windowlà trong nguồn vào năm 2013 vì vậy tôi có thể đã bỏ lỡ điều đó. Đó là một thời gian dài trước đây.
JamesThomasMoon1979

13

Dường như không có tùy chọn thân thiện với người dùng để thay đổi điều này trong Chrome (có lẽ vì hầu hết mọi người thích tab mới).

Tuy nhiên, bạn có thể thay đổi điều này bằng cách chỉnh sửa lệnh được chỉ định trong sổ đăng ký Windows của bạn được sử dụng để mở url http.

Để làm điều này, mở regedit và:

  1. Đi đến HKEY_CLASSES_ROOT\http\shell\open\command
  2. Bạn sẽ thấy một khóa, được đặt tên (Default). Nhấp đúp chuột vào đây để có được một cửa sổ bật lên chỉnh sửa.
  3. Ở cuối Value data:trường, bạn sẽ thấy văn bản -- "%1". Thay đổi điều này thành --new-window "%1".

Điều đó sẽ hướng dẫn Windows mở tất cả các liên kết http trong một cửa sổ mới của Chrome thay vì một tab mới.

Có lẽ, ý tưởng chung tương tự cũng đúng với Mac và Linux, nhưng tôi không biết chính xác nơi họ lưu trữ lệnh để mở url.


Khi tôi nhấp đúp vào mặc định, cửa sổ bật lên có một trường có tên là Dữ liệu giá trị. Tôi chỉ nên thêm --new-window hoặc --new-window "% 1" Ngoài ra tôi đang sử dụng Win7 nếu nó quan trọng.
JD Isaacks

1
Lưu ý, nếu bạn tìm kiếm sổ đăng ký cho bất kỳ khóa nào khác có chứa "chrome.exe" và tìm một khóa có giá trị chứa "-% 1", thì việc thêm thay đổi của tôi sẽ hoạt động.
Cerin

3
Có cách nào tốt để "ngăn" Chrome ghi đè các thay đổi này mỗi lần cập nhật không? (Điều này xảy ra tương đối thường xuyên.)
Qtax

3
Lưu ý rằng trong Windows 10, nó hơi khác một chút. Câu trả lời này cho chúng ta biết rằng trình duyệt mặc định được chỉ từ đây: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\URLAssociations\(http|https)\UserChoice Vì vậy, cho Chrome, nó nói: ProdId=ChromeHTML Từ đó bạn có thể tìm thấy ChromeHTML đây: HKEY_CLASSES_ROOT\ChromeHTML Theo mà bạn có thể tìm thấy những vỏ / mở lệnh /, do đó đường dẫn đầy đủ là:HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
Trinition

1
Để áp dụng giải pháp của @ TrTHER mà không cần thông qua Trình chỉnh sửa sổ đăng ký, bạn có thể lưu trữ nội dung sau dưới dạng 'WebLinks.reg' và thực hiện nó. Vui lòng xác minh rằng tệp chứa thư mục cài đặt Chrome chính xác của bạn. Ngoài ra, thêm một số dòng mới ở giữa;) Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command] @="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" --new-window \"%1\""
Igor Akkerman

9

Mike Hardy đã đăng một giải pháp cho Mac OS X. Tôi đang sử dụng nó trong 10.7 Lion và nó hoạt động tốt.

Giải pháp liên quan đến một ứng dụng AppleScript nhỏ:

on open location theURL
    tell application "/Applications/Google Chrome.app"
        make new window
        activate
        set URL of active tab of first window to theURL
    end tell
end open location

Đặt ứng dụng này làm trình duyệt mặc định của bạn sẽ khiến các liên kết chương trình bên ngoài mở trong một cửa sổ mới trong Chrome.


Làm thế nào / nơi tôi phải lưu ứng dụng AppleScript này trong 10.9.5 Mavericks? Tôi đã lưu ở trên trong [Người dùng của tôi] / Thư viện / Tập lệnh ứng dụng dưới dạng "ứng dụng", nhưng nó không xuất hiện dưới dạng trình duyệt theo tùy chọn trình duyệt mặc định của Safari. Ngoài ra, tôi đã tải xuống gói applescript từ giải pháp của Mike Hardy và giải nén nó trong cùng một thư mục. Điều đó đã thêm tập lệnh vào danh sách các trình duyệt và tôi đã chọn nó, nhưng khi tôi nhấp vào một liên kết từ một ứng dụng bên ngoài, liên kết đó không mở.
Mike Eng

7

Trong trường hợp bất kỳ người dùng Linux nào cũng thắc mắc điều tương tự, tôi đã làm điều này bằng cách sao chép /usr/share/applications/chromium.desktopvào ~/.local/share/applicationsvà sau đó chỉnh sửa nó như sau:

--- /usr/share/applications/chromium.desktop    2012-08-10 17:02:01.000000000 +0100
+++ /home/sam/.local/share/applications/chromium.desktop    2012-08-23  10:33:21.987359591 +0100
@@ -128,7 +128,7 @@
 Comment[zh_CN]=访问互联网
 Comment[zh_HK]=連線到網際網路
 Comment[zh_TW]=連線到網際網路
-Exec=/usr/bin/chromium %U
+Exec=/usr/bin/chromium --new-window %U
 Terminal=false
 X-MultipleArgs=false
 Type=Application

Nếu bạn đang sử dụng chromiumgói Debian và bạn không ngại đặt nó làm mặc định cho tất cả người dùng trên hệ thống, thay vào đó bạn có thể chỉnh sửa /etc/chromium/defaultvà thêm --new-windowvào CHROMIUM_FLAGSbiến.


Cảm ơn - Tôi đã quá mệt mỏi khi bị chuyển sang một máy tính để bàn khác khi nhấp vào trình khởi chạy Chrome! Tôi sẽ chỉ thêm rằng bạn chỉ cần chỉnh sửa các thuộc tính cho biểu tượng trình khởi chạy để thêm vào --new-windowtùy chọn, nếu bạn chỉ muốn thay đổi hành vi của biểu tượng trình khởi chạy. Tại sao tùy chọn không được ghi lại trong trang man ???
AmigoNico

7

Bạn có thể sử dụng tiện ích mở rộng "Tab mới, Cửa sổ mới" cho việc này. Cách thức hoạt động của nó là di chuyển tab vừa tạo nhanh chóng sang một cửa sổ mới. Vì vậy, có một chút vẽ lại, nhưng nó hoạt động khá tốt (ít nhất là đối với tôi).

Lưu ý, như @John đề cập bên dưới, tiện ích mở rộng này tạo hành vi mặc định cho tất cả các tab mới (ngay cả những tab được tạo từ bên trong Chrome).


4
tiện ích mở rộng này không tốt ... nó luôn mở một cửa sổ mới, ngay cả khi nhấp vào lệnh từ bên trong chrome
John Bachir 15/03/13

1
Tôi thực sự nghĩ rằng đó là một điều tốt (tôi ghét các tab :), nhưng tôi đồng ý đưa ra câu hỏi tôi cần để làm cho nó rõ ràng hơn trong câu trả lời của tôi. Tôi đã cập nhật nó.
studgeek

6

Đã cập nhật cho Windows 7 pro x64, theo Cerin ở trên -

Go to HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

Bạn sẽ thấy một khóa, được đặt tên (Mặc định). Nhấp đúp chuột vào đây để có được một cửa sổ bật lên chỉnh sửa.

Thay đổi giá trị chính từ:

["C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "%1"]

đến

["C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --new-window "%1"]

Chỉ cần xác nhận điều này hoạt động trên Windows 10 vào tháng 1 năm 2017.
Nelson

2

câu trả lời của Cerin ở trên là câu trả lời hay nhưng có một chỉnh sửa cần thiết: khóa được đề xuất để thay đổi không dành riêng cho Chrome và thay đổi tùy theo người dùng đã đăng nhập. đây là giải pháp làm việc:

  1. Đi đến HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
  2. Bạn sẽ thấy một khóa, được đặt tên (Mặc định). Nhấp đúp chuột vào đây để có được một cửa sổ bật lên chỉnh sửa.
  3. Thay đổi giá trị chính thành "C:\Program Files\Google\Chrome\Application\chrome.exe" --new-window "%1".

Xin chào, cảm ơn, điều này làm việc tuyệt vời. Tuy nhiên, sau khi khởi động lại máy tính hoặc cập nhật chrome (không chắc chắn) nó được đặt lại. Đừng bận tâm vì tôi không làm bất cứ điều gì trong hai điều đó quá thường xuyên, nhưng bạn có cách nào để tránh điều này không? Điều duy nhất nảy ra trong đầu tôi là tạo một tệp đăng ký sẽ được chạy khi khởi động.
Ev0oD

Xin chào, tôi không phải là người dùng Chrome thường xuyên nên tôi đã không thử nghiệm nhiều về giải pháp này. Tuy nhiên, có một bài đăng trong diễn đàn sản phẩm Chrome cho thấy bạn cần thay đổi tất cả các bản đăng ký xảy ra của chrome để có công tắc cửa sổ mới. tìm hiểu có nhiều: productforums.google.com/forum/#!msg/chrome/V8blictbYuI/...
Michael Bahig

1

Tùy chọn dòng lệnh này sẽ làm việc cho bạn

chrome --new-window 

Điều này không trả lời câu hỏi "khi nhấp vào liên kết trong các chương trình khác", nhưng nó trả lời câu hỏi cụ thể của tôi và là câu trả lời được chấp nhận của một câu hỏi trùng lặp.
Nikana Reklawyks
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.