基本上,我有一个 iframe 加载在我网站上的每个页面上。这里面是一个带有导航栏的标题,使用<ul>
和<li>
标记进行编码。例如。
<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>
如果变量“URL”匹配并且父页面成功存储到“URL”变量中,则 iframe 中的代码成功更改<a>
属性的颜色,document.URL
但 iframe 似乎无法访问该变量。
我确信有一个很好的方法可以做到这一点,但我已经没有想法了
值得注意的是,我试图将所有父页面上的混乱降至最低(因此首先使用 iframe)
谢谢!