Paksa Chrome untuk membuka halaman baru di jendela baru, bukan tab? (ketika dibuka dari suatu program)

45

Setiap kali saya mengklik tautan dari sesuatu seperti pandangan atau program membuka halaman web (bukan ketika saya mengklik tautan dari dalam chrome ). Itu terbuka di Chrome karena itu adalah browser default saya, tetapi jika saya sudah memiliki halaman terbuka itu akan terbuka di tab baru di jendela yang sama. Saya tidak bisa memberi tahu Anda berapa kali saya lupa tentang ini dan menutup jendela, tanpa sengaja kehilangan tab lainnya juga. Tentu, saya bisa membuka jendela chrome baru dan menemukannya di bawah tab yang baru saja ditutup, tetapi saya benar-benar hanya lebih suka jika mereka membuka di jendela mereka sendiri sehingga saya bisa mencegahnya.

JD Isaacks
sumber

Jawaban:

28

Masalah

Untuk Linux, jika Anda memiliki beberapa server VNC, masalah yang sama akan terjadi.
Itu adalah,

$ google-chrome
Created new window in existing browser session

Dan tidak ada jendela google chrome yang akan muncul di sesi X VNC saat ini (tab baru akan muncul di sesi X dengan instance pertama google-chrome).

Larutan

Solusi sederhana adalah menjalankan

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

Ini menetapkan direktori pengguna unik berdasarkan instance X VNC yang digunakan . Direktori pengguna akan dibuat sesuai kebutuhan. Proses baru google-chromeakan ditampilkan dalam sesi X VNC saat ini.

Diuji menggunakan Google Chrome versi 22 pada Ubuntu 12.04.

JamesThomasMoon1979
sumber
6
Ini adalah salah satu badan teks terpenting di internet. Saya salut padamu.
Jonathan Feinberg
2
google-chrome --new-windowmelakukannya untukku.
Nikana Reklawyks
Terima kasih @NikanaReklawyks. Sepertinya --new-windowsudah ada di sumbernya pada tahun 2013 jadi saya mungkin melewatkannya. Itu sudah lama sekali.
JamesThomasMoon1979
13

Tampaknya tidak ada opsi yang ramah pengguna untuk mengubah ini di dalam Chrome (mungkin karena kebanyakan orang lebih suka tab baru).

Namun, Anda dapat mengubah ini secara manual dengan mengedit perintah yang ditentukan dalam registri Windows Anda yang digunakan untuk membuka url http.

Untuk melakukan ini, buka regedit dan:

  1. Pergi ke HKEY_CLASSES_ROOT\http\shell\open\command
  2. Anda akan melihat satu kunci, bernama (Default). Klik dua kali ini untuk mendapatkan munculan pengeditan.
  3. Di akhir Value data:bidang Anda akan melihat teks -- "%1". Ubah ini menjadi --new-window "%1".

Itu akan memerintahkan Windows untuk membuka semua tautan http di jendela baru Chrome alih-alih tab baru.

Agaknya, ide umum yang sama berlaku untuk Mac dan Linux, tetapi saya tidak tahu di mana mereka menyimpan perintah untuk membuka url.

Cerin
sumber
Ketika saya klik dua kali default, pop memiliki bidang yang disebut Value Data itu kosong. Haruskah saya menambahkan --new-window atau --new-window "% 1" Juga saya menggunakan Win7 jika itu penting.
JD Isaacks
1
Catatan, jika Anda mencari registri untuk kunci lain yang mengandung "chrome.exe", dan menemukan satu dengan nilai yang mengandung "-% 1", maka menambahkan perubahan saya akan berhasil.
Cerin
3
Apakah ada cara yang baik untuk "mencegah" Chrome mengesampingkan perubahan ini setiap pembaruan? (Yang terjadi relatif sering.)
Qtax
4
Perhatikan bahwa pada Windows 10, ini sedikit berbeda. Jawaban ini memberi tahu kami bahwa peramban default diarahkan dari sini: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\URLAssociations\(http|https)\UserChoice Jadi untuk Chrome, dikatakan: ProdId=ChromeHTML Dari sana Anda dapat menemukan ChromeHTML di sini: HKEY_CLASSES_ROOT\ChromeHTML Di bawah itu Anda dapat menemukan shell / open / command, jadi path lengkapnya adalah:HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
Trinition
2
Untuk menerapkan solusi @ Trinition tanpa melalui Peninjau Suntingan Registri, Anda dapat menyimpan konten berikut sebagai 'WebLinks.reg' dan jalankan. Harap verifikasi bahwa file tersebut berisi direktori pemasangan Chrome Anda yang benar. Juga, tambahkan beberapa baris baru di antara;) 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 memposting solusi untuk Mac OS X. Saya menggunakannya di 10.7 Lion dan berfungsi dengan baik.

Solusinya melibatkan aplikasi AppleScript kecil:

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

Mengatur aplikasi ini sebagai browser default Anda akan menyebabkan tautan program eksternal terbuka di jendela baru di Chrome.

sffc
sumber
Bagaimana / di mana saya seharusnya menyimpan aplikasi AppleScript ini di 10.9.5 Mavericks? Saya menyimpan hal-hal di atas dalam [Pengguna Saya] / Perpustakaan / Skrip Aplikasi sebagai "aplikasi", tetapi tidak muncul sebagai browser di bawah preferensi browser default Safari. Juga, saya mengunduh bundel applescript dari solusi Mike Hardy , dan membuka ritsletingnya di folder yang sama. Itu menambahkan skrip ke daftar browser, dan saya memilihnya, tetapi ketika saya kemudian mengklik tautan dari aplikasi eksternal, tautan itu tidak terbuka.
Mike Eng
7

Dalam kasus apapun pengguna Linux bertanya-tanya hal yang sama, saya melakukan ini dengan menyalin /usr/share/applications/chromium.desktopke ~/.local/share/applicationsdan kemudian mengedit sebagai berikut:

--- /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

Jika Anda menggunakan chromiumpaket Debian , dan Anda tidak keberatan mengatur ini sebagai default untuk semua pengguna di sistem, Anda bisa mengedit /etc/chromium/defaultdan menambahkan --new-windowke CHROMIUM_FLAGSvariabel.

Sam Morris
sumber
Terima kasih - Saya sangat lelah beralih ke desktop lain ketika saya mengklik peluncur Chrome! Saya hanya akan menambahkan bahwa Anda cukup mengedit properti untuk ikon peluncur untuk menambahkan --new-windowopsi, jika Anda hanya ingin mengubah perilaku ikon peluncur. Mengapa opsi ini tidak didokumentasikan di halaman manual ???
AmigoNico
7

Anda dapat menggunakan ekstensi "Tab Baru, Jendela Baru" untuk ini. Cara kerjanya adalah memindahkan tab yang baru dibuat dengan cepat ke jendela baru. Jadi ada sedikit penggambaran ulang, tetapi itu bekerja dengan cukup baik (setidaknya untuk saya).

Catatan, seperti @John sebutkan di bawah, ekstensi ini membuat perilaku default untuk semua tab baru (bahkan yang dibuat dari dalam Chrome).

studgeek
sumber
4
ekstensi ini tidak baik ... selalu membuka jendela baru, bahkan ketika mengeklik perintah dari dalam chrome itu sendiri
John Bachir
1
Saya benar-benar berpikir itu adalah hal yang baik (saya benci tab :), tapi saya setuju dengan pertanyaan yang saya butuhkan untuk memperjelas jawaban saya. Saya sudah memperbaruinya.
studgeek
6

Diperbarui untuk Windows 7 pro x64, mengikuti Cerin di atas -

Go to HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

Anda akan melihat satu kunci, bernama (Default). Klik dua kali ini untuk mendapatkan munculan pengeditan.

Ubah nilai kunci dari:

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

untuk

["C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --new-window "%1"]
Philip
sumber
Baru saja mengkonfirmasi ini berfungsi pada Windows 10 pada Januari 2017.
Nelson
2

jawaban oleh Cerin di atas adalah jawaban yang bagus tetapi perlu diedit: kunci yang diusulkan untuk berubah tidak spesifik untuk Chrome dan bervariasi sesuai dengan pengguna yang masuk. ini adalah solusi yang bekerja:

  1. Pergi ke HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
  2. Anda akan melihat satu kunci, bernama (Default). Klik dua kali ini untuk mendapatkan munculan pengeditan.
  3. Ubah nilai kunci menjadi "C:\Program Files\Google\Chrome\Application\chrome.exe" --new-window "%1".
Michael Bahig
sumber
Hai, terima kasih, ini sangat bagus. Namun, baik setelah menyalakan kembali pc atau memperbarui chrome (tidak yakin yang mana) itu diatur kembali. Tidak masalah karena saya tidak melakukan keduanya terlalu sering, tetapi apakah Anda punya cara untuk menghindari ini? Satu-satunya hal yang terlintas dalam pikiran saya akan membuat file registri yang akan dijalankan saat startup.
Ev0oD
Hai, saya bukan pengguna Chrome biasa jadi saya tidak melakukan pengujian berat pada solusi ini. Namun ada posting di forum produk Chrome yang menyarankan Anda perlu mengubah semua kejadian registri chrome untuk memiliki saklar jendela baru. cari tahu lebih lanjut di sana: productforums.google.com/forum/#!msg/chrome/V8blictbYuI/…
Michael Bahig
1

Opsi baris perintah ini akan bekerja untuk Anda

chrome --new-window 
Dukungan teknologi
sumber
Ini tidak menjawab pertanyaan "ketika mengklik tautan di program lain", tetapi pertanyaan itu menjawab pertanyaan khusus saya, dan merupakan jawaban yang diterima dari pertanyaan duplikat.
Nikana Reklawyks