我的模板结构如下:
<html>
<head><title> {%block title %} Default title {% endblock %} </title> </head>
<body>
<iframe>
<head> <title> {% block title %} Title for frame {% endblock %} </title> </head>
<body> Main content. This is what people see on the web page. </body>
</iframe>
<!-- Content that I do not want to reload every time. A player, to be precise. -->
</body>
</html>
在iframe中,我继承了模板等,以显示我的最终页面。 iframe中的标题栏被正确替换,iframe的标题应该是它应该是。
但是,当我在iframe中加载页面时,我想替换父框架的标题。是否有可能做到这一点?我不想通过Javascript来做,因为这会破坏SEO的目的。我希望在从服务器端加载页面时更改标题。
提前致谢。
答案 0 :(得分:0)
您有两个名为title
的块。重命名其中一个,一切都应该正常。如果您正在使用iframe
或任何其他元素,则Django模板构造完全不受影响。
编辑:
当iframe
获取新位置时,它会向服务器发送请求,并在<{em> iframe
内呈现其响应的所有。因此,不可能利用Django的模板系统来改变iframe
的父站点。
我不是SEO专家但是使用这样的iframe
可能不会被搜索引擎所喜欢。您应该实现传统的click-pageload方式。如果你想加快速度,可以使用JavaScript。捕获菜单单击并异步加载站点所需的部分。这样你和你的搜索引擎都会很高兴:)