js怎么控制iframe嵌套页里面文字大小

JavaScript029

js怎么控制iframe嵌套页里面文字大小,第1张

您好:在主页面中可以调用iframe页面中的js函数。你在frame写好控制文字大小的函数,而大小值则是主页面调用的时候传过去的参数就可以了。形如:iframe中的函数为

funtion changeText(int txtBM)

{

这里设置文字大小为textBM

}

而主页面中可以这样调用:

parent.frames[ "iframeName//这是iframe的name值 "].window.changeText(12)

应用场景是:iframe页面没有滚动条,在父窗体中出现滚动条,锚点标记就会失效,因为,锚点是根据当前窗口滚动条滚动窗口的,成为子窗体后没有了滚动条,自然不会滚动。

解决办法是:用js判断页面是否被嵌套,用js计算iframe在父窗体位置,锚点在firame中的位置,两者相加成为父窗体的滚动。

遇到问题:获取父窗体元素(因为有域限制,所有需要在网络环境下方位(即http://domain.com));父窗体嵌套多个iframe,判断是否是当前iframe页面。

同域下可以这样实现

<!doctype html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="Generator" content="EditPlus®">

<meta name="Author" content="">

<meta name="Keywords" content="">

<meta name="Description" content="">

<title>Document</title>

</head>

<body>

<iframe id="test" frameborder=0 width=250 height=250 marginheight=0 marginwidth=0 scrolling=no src="a.html"></iframe>

<script type="text/javascript">

// 兼容IE事件绑定

function addEvent(elem, eventName, func) {

if (!elem) return

if (window.addEventListener) {

elem.addEventListener(eventName, func, false)

} else if (window.attachEvent) {

elem.attachEvent('on' + eventName, func)

}

}

function onKeyUp(e) {

e = e || window.event

var iframe = document.getElementById('test')

var keyCode = e.keyCode

if (keyCode === 13) {

iframe.contentWindow.location.reload()

}

}

addEvent(document.body, 'keyup', onKeyUp)

</script>

</body>

</html>