我有一些代码可以打开一个弹出窗口,然后通过弹出页面上的某个元素调整它的大小。以下代码在Chrome和Firefox中正常工作,但不适用于IE。
var newWin ;
function openWindow(id) {
newWin = window.open(url,config,setting);
newWin.onload= function () {
newWin.resizeTo(newWin.document.getElementById("certainID").offsetWidth,100);
};
在IE10中会出现一个弹出窗口,但 window.load 事件永远不会触发。 我也尝试 newWin。$(document).ready ,但似乎无效。
有什么建议吗?
答案 0 :(得分:1)
最后我通过 setTimeout 来解决这个问题,以检查弹出窗口中的元素是否生成良好,然后调整弹出窗口的大小
MERGE INTO Table2 tar
USING
(
SELECT MIN(T1.ID) AS ID, T2.item AS item
Table2 T2
LEFT JOIN
Table1 T1
ON (T2.item LIKE '%'||T1.item||'%')
GROUP BY T2.item
) src
ON (tar.item = src.item)
WHEN MATCHED THEN UPDATE
SET tar.id = src.id;

答案 1 :(得分:1)
如果使用setTimeout,则可能会在窗口尚未完成加载时弹出窗口来调整大小。我认为最好的解决方案是使用setInterval并检查document.readyState ==='complete“ =>何时调用clearInterval()并运行resize
答案 2 :(得分:0)
这是IE中的一个老问题。
最好的解决方案之一是添加new
。
通常我们写
window.onload=function() { alert('hello');};
将其替换为
window.onload=new function() { alert('hello');};