Я использую window.open
, чтобы открыть всплывающее окно в моем расширении Chrome. Это прекрасно работает. Но когда я включаю jquery-ui.js (v1.11.4) в свое расширение, всплывающее окно не фокусируется после открытия. Он мигает на переднем плане в течение секунды, а затем перемещается на задний план. Я пытался использовать window.focus
, но я думаю, что это не работает в Chrome (даже обходной путь с использованием window.blur
не работал).
То же самое произойдет, если я попытаюсь создать всплывающее окно с chrome.windows.create
. Я не уверен, почему эта проблема возникает только тогда, когда включена библиотека пользовательского интерфейса jquery. Это известная ошибка?
ОБНОВЛЕНО: Мой поток кода выглядит следующим образом:
всплывающее окно.html
<DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery-ui.js"></script>
<script type="text/javascript" src="login.js" defer></script>
</head>
<body>
.....
</body>
логин.js
displayPopup();
function displayPopup() {
var popupWin = window.open(url, '', 'height=800, width=800, scrollbars=scroll');
if (window.focus) {
console.log('window has focus');
popupWin.focus();
}
else if (popupWin.focus) {
console.log('popup has focus');
}
}
Я вижу, что окно имеет фокус, потому что печатается console.log('window has focus');
. Но popupWin.focus();
, похоже, не выполняется.
tabs
API. - person Xan   schedule 24.07.2015window.open
из расширений не рекомендуется. Можете ли вы вместо этого показать своюtabs
попытку? - person Xan   schedule 24.07.2015