基本上,我在我的网站上的每个页面上加载了一个iframe。里面是一个标题,其导航条使用<ul>
和<li>
标签进行编码。例如。根据父母URL更改iframe中某个属性的颜色URL
<div id="header">
<ul>
<li><a id="BtnHome" href="/home">Home</a></li>
<li><a id="BtnServices" href="/services">Services</a></li>
<li><a id="BtnProducts" href="/products">Products</a></li>
<li><a id="BtnAbout" href="/about">About Us</a></li>
<li><a id="BtnBlank" href="#">Something</a></li>
</ul>
</div>
我需要改变一个<a>
属性的背景颜色当标题被加载到其相应的页面。到目前为止,我所得到的最接近是使用这个..
在父页面:
<script type="text/javascript">
var URL = document.URL;
URL = URL.toUpperCase();
</script>
,并在iframe:
<script type="text/javascript">
if (URL.indexOf("/HOME") != -1) {document.getElementById("BtnHome").style.backgroundColor="#222";}
if (URL.indexOf("/SERVICES") != -1) {document.getElementById("BtnServices").style.backgroundColor="#222";}
if (URL.indexOf("/PRODUCTS") != -1) {document.getElementById("BtnProducts").style.backgroundColor="#222";}
if (URL.indexOf("/ABOUT") != -1) {document.getElementById("BtnAbout").style.backgroundColor="#222";}
</script>
在iframe的代码成功地改变了颜色<a>
属性,如果变量“URL”匹配并且父页成功将document.URL
存储到“URL”变量中,但看起来该变量不可由iframe访问。
我敢肯定有这样做的一个很好的方式,但我已经江郎才尽
值得一提的是,我试图保持杂乱到最低限度上的所有父页面(因此首先使用iframe)
谢谢!
iframe是否与父页面位于同一个域?如果没有,那么你不能在它们之间共享javascript变量。如果他们是一样的,你可以直接分享varaibles。 – jfriend00 2012-08-15 03:22:56