Я столкнулся с этим сегодня, с модальным position: fixed
, который я использовал повторно. Я не смог сохранить его display: none
, а затем оживить его, поскольку он просто вскочил на внешний вид, а также z-index
(отрицательные значения и т. Д.) Тоже сделали странные вещи.
Я также использовал height: 0
до height: 100%
, но он работал только тогда, когда появился модальный. Это то же самое, что если вы использовали left: -100%
или что-то в этом роде.
Тогда мне показалось, что был простой ответ. Et voila:
Во-первых, ваш скрытый модальный. Обратите внимание, что height
есть 0
, и проверьте декларацию height
в переходах ... у него есть 500ms
, , который длиннее моего opacity
перехода . Помните, что это влияет на переход к постепенному исчезновению: возвращение модального состояния в состояние по умолчанию.
#modal-overlay {
background: #999;
background: rgba(33,33,33,.2);
display: block;
overflow: hidden;
height: 0;
width: 100%;
position: fixed;
top: 0;
left: 0;
opacity: 0;
z-index: 1;
-webkit-transition: height 0s 500ms, opacity 300ms ease-in-out;
-moz-transition: height 0s 500ms, opacity 300ms ease-in-out;
-ms-transition: height 0s 500ms, opacity 300ms ease-in-out;
-o-transition: height 0s 500ms, opacity 300ms ease-in-out;
transition: height 0s 500ms, opacity 300ms ease-in-out;
}
Во-вторых, ваш видимый модальный. Предположим, вы устанавливаете .modal-active
на body
. Теперь height
- 100%
, и мой переход также изменился. Я хочу, чтобы height
был немедленно изменен, а opacity
- 300ms
.
.modal-active #modal-overlay {
height: 100%;
opacity: 1;
z-index: 90000;
-webkit-transition: height 0s, opacity 300ms ease-in-out;
-moz-transition: height 0s, opacity 300ms ease-in-out;
-ms-transition: height 0s, opacity 300ms ease-in-out;
-o-transition: height 0s, opacity 300ms ease-in-out;
transition: height 0s, opacity 300ms ease-in-out;
}
Вот и все, это работает как прелесть.
Я думаю, что вы ищете:
chrome.tabs.reload(integer tabId, object reloadProperties, function callback)
За дополнительной информацией обратитесь к вкладкам API () документации .
В частности:
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.reload(tab.id);
});
API для chrome.tabs.getSelected (), который использует принятый ответ, устарел. Вместо этого вы должны получить текущую вкладку и перезагрузить ее, используя следующее:
chrome.tabs.query({active: true, currentWindow: true}, function (arrayOfTabs) {
var code = 'window.location.reload();';
chrome.tabs.executeScript(arrayOfTabs[0].id, {code: code});
});
Или, возможно:
chrome.tabs.query({active: true, currentWindow: true}, function (arrayOfTabs) {
chrome.tabs.reload(arrayOfTabs[0].id);
});
Мне не повезло со второй версией, хотя другие ответы, похоже, подсказывают, что это должно сработать. API, похоже, тоже предлагает это.
вы также можете использовать это:
chrome.tabs.reload (function () {});
параметры перезагрузки params: integer tabId, object reloadProperties, обратный вызов функции
ссылка: http://developer.chrome.com/extensions/tabs.html#method-reload
, если вы хотите перезагрузить все вкладки, которые полностью загружены и активны в своем окне
blockquote>chrome.tabs.query({status:'complete'}, (tabs)=>{ tabs.forEach((tab)=>{ if(tab.url){ chrome.tabs.update(tab.id,{url: tab.url}); } }); });
, вы можете изменить объект параметра, чтобы извлекать только активные вкладки, как
{status:'complete', active: true}
ссылаются на запрос api chrome extensionsПричина не использования
chrome.tabs.reload
:Если свойства вкладки, особенно tab.url, не имеют изменено, вкладка не перезагружается. Если вы хотите принудительно перезагружать каждый раз, лучше обновить URL-адрес вкладки со своей вкладкой tab.url, которая отправляет событие изменения свойства и вкладка автоматически перезагружается.