1

我想在触发重定向时运行的代码是转到另一个网页(或本地 html 文件,在这种情况下都可以),但是传递一些 javascript 以在该页面上运行,因为该页面可以嵌入内容框架。需要这样做以允许我在重定向时指定 iframe 中的内容。

说得简单点。我怎样才能做到这一点,当您转到时website.com/about/,它会重定向到iframe 中加载website.com/的内容?/about/

<head>
    <title> CodeBundle </title>
    <script>
        function home() {document.getElementById("loadedpage").src="home.html";}
        function about() {document.getElementById("loadedpage").src="about.html";}
        function reviews() {document.getElementById("loadedpage").src="reviews.html";}
        function tutorials() {document.getElementById("loadedpage").src="tutorials.html";}
        function blog() {document.getElementById("loadedpage").src="blog.html";}
</script>
</head>
<body>
    <header>
        <br><hr><font size=27><a onClick="home();">Code Bundle</a></font><br><hr>
        <div ALIGN=RIGHT>
            <font size=6> | <a onClick="about();">About</a> | <a     onClick="reviews();">Reviews</a> | <a onClick="tutorials();">Tutorials</a> | <a onClick="blog();">Blog<a> |</font> <hr>
        </div>
        <iframe id="loadedpage" src=home.html width=100% height=100% frameborder=0>Iframe Failed to Load</iframe>
    </header>
</body>
</body>    

这是我的 website.com/ 的 index.html

我想写一个页面,这样当你转到website.com/about/它时会重定向到website.com/运行 javascript 函数about(),从而显示关于页面。

4

2 回答 2

4

您将不得不使用查询参数或片段标识符传递一些数据。

看:

无论哪种情况,您都会在 url 中出现一些内容,它看起来像:

http://www.example.com/?page=about

或者:

http://www.example.com/#about

或者 - 这将是最好的:

http://www.example.com/#!/about

因为它可以让您使网站可抓取。看:


现在,在阅读了您对theredled 答案的评论后,您“定期添加新内容并将其加载到嵌入的 iframe 中比每次都编写新的 html 更快”,我不得不问这个问题:您不是在您的网站中使用模板系统吗?

请记住,制作 AJAX 加载的内容并使用片段标识符来显示正确的内容并不是因为页面创建更容易(事实并非如此),而是因为用户体验更快且响应更快。例如,参见 SoundJS 库的网站:

当您单击顶部的 PreloadJS 链接时,您将转到:

内容重新加载,地址栏发生变化,但页面实际上并没有重新加载。(你可以看到它是可以正确抓取的,因为如果你用谷歌搜索 ReloadJS ,它就会显示在结果中。)

于 2012-10-30T12:35:00.473 回答
1

通过用户会话传递内容?

然而,这是一个非常肮脏的案例,也许你已经知道了:)

于 2012-10-30T12:28:53.530 回答