已经尝试了一天以上所以我现在要去我的最后一个地方,在这里张贴。我有一个包含以下代码的网站
的style.css
#nav li a.active {
background: url('images/top-pages-button.png') 0 -80px;
}
#nav li ul li a:hover, #nav li ul li a.active {
color: #6dff6d;
font-weight: bold;
text-decoration: none;
background: url('images/pages-button.png') 0 -40px;
}
index.php Page
<ul id="nav">
<li><a href="#" title="Top Pages" class="active">Top Pages</a>
<ul>
<li><a href="test.php" target="myframe" title="Page 1" class="active">Page 1</a></li>
<li><a href="test2.php" target="myframe" title="Page 2">Page 2</a></li>
</ul>
</li>
</ul>
<iframe name="myframe" style="width: 100%; height: 100%; border: none; overflow: hidden;" src="default-page.php"></iframe>
test.php Page
Simple PHP file calling a page with some content/info/text.
上面的代码有效,有一个默认页面在网站加载时打开,当你点击链接时,它会正确打开iFrame上的页面。但是,我有以下需求。
我想复制+粘贴一个链接,与我的朋友分享 在iframe上打开了DIRECT页面。所以我想这样做 通过电子邮件发送链接 http://www.mydomain.com/index.php?page=page1.php或类似的东西 而不是告诉他们访问mydomain.com然后点击 在热门页面下的第1页。
此外,该网站除了“首页”之外还有多个类别,所以我 希望页面突出显示用户所在的位置,类别AND 链接打开了。因此,如果我按第1页,按类别和那个 链接为“活动”,然后当我转到页面2链接到 回到默认状态并且第2页处于活动状态等等 - 基于我的 样式表。
整个网站有三个部分。左侧导航,中间内容和右侧聊天。我需要聊天是静态的,这就是为什么我要尝试这样做。我希望能够向朋友或朋友发送直接打开该页面而不是网站的链接,并指示在类别和链接被标记为“活动”时单击X并根据需要进行更改并保持聊天div静止整个时间。
请告诉我是否可以使用JQUERY of PHP。非常感谢你!
答案 0 :(得分:1)
在index.php
中,只需为$_GET['page']
添加一些检查 - 如果这是您要使用的内容:
<li><a href="page1.php" target="myframe" title="Page 1" class="<?= ($_GET['page'] == 'page1.php') ? 'active' : ''; ?>">Page 1</a></li>
<li><a href="page2.php" target="myframe" title="Page 2" class="<?= ($_GET['page'] == 'page2.php') ? 'active' : ''; ?>">Page 2</a></li>
同样,对于iframe
:
<iframe name="myframe" style="width: 100%; height: 100%; border: none; overflow: hidden;" src="<?= $_GET['page']; ?>"></iframe>
请记住将所允许的页面列入白名单(否则iframe
将加载任何内容):
if (isset($_GET['page'])) {
if (in_array($_GET['page'], array('page1.php', 'page2.php')) === false) { // not whitelisted
$_GET['page'] = 'default-page.php'; // revert to default
}
}
else {
$_GET['page'] = 'default-page.php'; // it isn't set
}
以上内容应位于页面顶部(或首次出现$_GET['page']
之前)。