我有以下html页面:
<html>
<head>
<script type="text/javascript">
var myDiv = null;
window.onload = function() {
myDiv = document.getElementById("myDiv");
};
function buttonClick() {
myDiv.style.width = "200px";
myDiv.style.height = "100px";
}
</script>
</head>
<body>
<div id="myDiv" style="left:10px; top:10px; width:1000px; height:250px; overflow:auto;">
<iframe scrolling="no" id="myIframe" style="width:100%;height:100%" src="a.svg"></iframe>
</div>
<input type="button" id="button1" onclick="buttonClick()" value="resize div"/>
</body>
</html>
和一个 SVG “a.svg”,它是上面 iframe 的内容:
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="500">
<circle cx="500" cy="250" r="240"/>
<script type="text/ecmascript"><![CDATA[
window.onresize = function() {
console.log("resize");
};
]]></script>
</svg>
当我现在在 iOS Safari 上打开 html 页面并单击按钮将 iframe 调整为 200x100 像素时,我没有收到调整大小事件。
但是如果我在像 Firefox 这样的 PC 浏览器上做同样的事情,我会得到 resize 事件。我知道 iframe 在 iOS Safari 中的处理方式不同,但我怎样才能让它工作呢?