Javascript изменение размера всплывающего окна Firefox?
Я просто изучаю Javascript и jQuery, но я HTML-r пытаюсь сделать следующий шаг..
Я пытаюсь поместить контент в таблицу, которая может быть любого размера (это для новостного сайта). Я проверяю размер, а затем соответственно изменяю размер всплывающего окна; хотя окно не совсем правильно, оно работает, но в Firefox оно даже не изменяется.
используя общую ссылку для pop-открыть основное окно:
<a onclick="window.open('http://site.local/popup/','popup','width=1,height=1')">popup</a>
Я указываю на страницу по умолчанию cms помещает все содержимое в таблицу (id= "top"). Он имеет ширину по умолчанию= "1", чтобы заставить ограничение, а затем позволить содержимому развернуть таблицу, чтобы установить реальный размер. Затем я проверяю размер таблицы, чтобы увидеть и изменить размер окна в документе.ready():
<script type="text/javascript">
<!--
$(document).ready(function() {
var divh = document.getElementById('top').offsetHeight;
var divw = document.getElementById('top').offsetWidth;
//Test size
//alert("Table: width= " + divw + "px / height= " + divh +"px");
//Resize
window.resizeTo(divw,divh);
}
-->
</script>
мне нужно иметь возможность изменять размер окна уже открыты в Firefox.
все размеры окон (кроме Firefox) выключены, но я могу их заполнить - немного больше, чем отсечка. Firefox, к сожалению, генерирует крошечное окно 180w x 249h и никогда не изменяет размер.
Я искал здесь безуспешно-большинство предлагают редактировать настройки в firefox, чего я явно не могу ожидать от пользователей.
какие идеи?
4 ответов
Firefox поставляется с предпочтением для пользователя, чтобы разрешить / запретить изменение размера окна с помощью Javascript. Это в инструментах-параметры-содержимое-включить Javascript - > [дополнительно].
Я не уверен, что изменение размера отключено по умолчанию, но вы можете сначала проверить свою собственную установку Firefox.
если он отключен по умолчанию, то, к сожалению, вы ничего не можете сделать, чтобы изменить размер окна после его открытия. Уродливое решение будет открыта после себя снова используя window.open()
с предпочтительным размером, хотя.
Я настоятельно рекомендую заменить ваше всплывающее окно всплывающим окном div. Вы столкнетесь с проблемами, как у вас с Firefox, и браузеры блокируют его в целом. Предполагая, что у вас есть jQueryUI, и вы загружаете этот контент из того же домена:
$('#container').load('/popup',function() {
var table = $('#container #top');
$('#container').dialog({height:table.height(), width: table.width()});
});
попробуйте что-то вроде этого;
<a class='poptrigger'>pop</a>
$(function(){
var w = $("#top").outerWidth();
var h = $("#top").outerHeight();
$('.poptrigger').click(function{
window.open('http://site.local/popup/','popup','width='+w+',height='+h)
})
});
таким образом, вам не нужно изменять размер окна, а просто установить размер изначально.