Можно ли запускать Chrome одновременно и без веб-безопасности?

37

Недавно я узнал, что я могу отключить Chrome "веб-безопасность", используя аргумент командной строки, что облегчает разработку JavaScript. Проблема в том, что я не могу запустить более одного «экземпляра» Chrome одновременно. Если я в chrome.exe --disable-web-securityто время как Chrome уже запущен, он просто открывает новое окно в работающем экземпляре и игнорирует мои аргументы командной строки. Я могу полностью закрыть Chrome и перезапустить его с указанным выше аргументом командной строки, но тогда все мои окна будут работать без веб-безопасности, что плохо для обычного использования браузера.

Итак, подведем итог: можно ли запустить экземпляр Chrome с --disable-web-securityфлагом, когда работает нормальный экземпляр Chrome?


Примечание: я подозреваю, что ответ может лежать в ключах командной строки Chrome , но их просто ... так много ...

Hubro
источник

Ответы:

41

Я нашел похожий вопрос на Ask Ubuntu . Очевидно, вы можете сказать Chrome начать новый сеанс, передав ему новый каталог пользовательских данных. Это означает, что теперь я могу запустить эту команду:

chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security

И открывается новое окно Chrome с отключенной веб-безопасностью. Ура!


Примечание. Это означает, что перетаскивание окна не будет работать между этими двумя окнами.

Hubro
источник
1
You can tell Chrome to start a new session by passing it a new user data directory. Ага; фактически, это происходит с большинством коммутаторов; «экземпляр» - это запуск Chrome с уникальным набором аргументов (в любом порядке). Теперь он может вести себя не совсем так, user-data-dirкак минимум , но все равно будет запускать новый экземпляр. Window drag & drop won't work between these two windows. Нет; Что касается Chrome, то они из двух разных браузеров / приложений. Также будьте осторожны с обработчиками: запуск .htmфайла или закладки откроется в экземпляре с аргументами, указанными при регистрации типа.
Synetech
Есть ли способ сделать это в Mac OS X?
Авг
1
@aug: Я не могу проверить это, но попробовать (с терминала): open -a /Applications/Chrome.app --user-data-dir="/tmp/chrome_dev_session" --disable-web-security. Я предполагаю, что в OSX есть каталог / tmp /, вы можете изменить путь, если его нет.
Hubro
1
Я получаю этоyou are using an unsupported command-line flag disable-web-security
CodyBugstein
1
@CoryMawhorter Это уже в ответе ниже
Hubro
6

Закройте все открытые окна в браузере Chrome. Если открыто несколько окон, закройте все по отдельности. Затем вы можете открыть Chrome, используя следующий код в «RUN» :

chrome.exe --allow-file-access-from-files --disable-web-security
Яш Векария
источник
3

Отвечая на комментарии @aug и @ hubro, вы можете использовать флаг openкоманды, -nчтобы открыть новый экземпляр приложения через терминал Mac OS X:

open -n -a /Applications/Chrome.app

Вы можете добавить любые флаги, которые вы хотите использовать (например --disable-web-security) в конце этой команды.

arielkirkwood
источник
Кажется, это не создает новый экземпляр. Потому что, когда я пытаюсь сделать это в старом экземпляре (с отключенной защитой), я могу сделать
cors
Да, ты прав! Страница man этой openкоманды действительно указывает, что -nфлаг предназначен для открытия нового экземпляра приложения, но кажется, что в Chrome и Chromium есть какая-то логика, предотвращающая открытие нескольких экземпляров приложения. Команда работает как для Safari, например.
arielkirkwood
Поскольку этот ответ неверен, вы можете удалить его?
Ноэль Яп
1
Я не имею макинтош, но я слышал , что это работает , если вы включите --user-данных реж вариант также: open -n -a /Applications/Chrome.app --user-data-dir="/tmp/chrome_dev_session" --disable-web-security. Пожалуйста, дайте это попробовать.
Сэм Уоткинс
1
Подход @ SamWatkins работал для меня в macOS Sierra, но только после добавления --argsфлага и открытия исполняемого файла Chrome (не контейнера Chrome.app); так:open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_session_2" --disable-web-security
Bungle
3

Для Mac:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir="/tmp/chrome_dev_session" --disable-web-security 

При необходимости замените свой путь к Chrome.

Гоби Дасу
источник