【发布时间】:2012-07-18 13:41:18
【问题描述】:
我需要放大 iframe 以使其更大(我无法控制 iframe 内容的源代码)。我正在尝试通过-webkit-transform: scale(1.3) CSS 属性来实现它。
iframe 的内容已正确放大,但是当我尝试触摸 iframe 中的任何控件时,似乎在错误的位置接收到触摸事件(我可以看到控件的“阴影”是触摸时在错误的位置突出显示)。因此事件处理程序不起作用(我怀疑它们没有被调用,因为在错误的位置检测到触摸)。有人遇到过这个问题吗?能解决吗?
我创建了一个产生问题的测试用例(在 iPad Safari 中尝试):http://jsfiddle.net/9vem2/
以更易读的格式来源:
父页面(iframe 的容器):
<!DOCTYPE html>
<html>
<head>
<title>Parent</title>
<style type="text/css">
iframe
{
left: 200px;
-webkit-transform: scale(1.3);
}
</style>
</head>
<body>
<h2>Parent</h2>
<iframe src="child.html"></iframe>
</body>
</html>
子页面(iframe 内容):
<!DOCTYPE html>
<html>
<head>
<title>Child</title>
</head>
<body>
<h2>Child</h2>
<input type="text"></input>
<button onclick="alert('hello');">Button</button>
</body>
</html>
【问题讨论】:
-
嗨 kahoon,你解决过这个问题吗?我现在正在调查这个。如果你解决了,你能更新答案吗?
-
@djburdick:我还没有解决这个特殊的场景。我不得不求助于将缩放 CSS 代码放入 iframe 的内容中(必须与第 3 方协商)。如果您无法修改 iframe 的源代码,这当然对您没有帮助。
标签: ipad css iframe scale safari