我读过这个,尽管我有一个问题..我知道没有onLoad
div,但我应该能够像这样执行一个片段:
...
<div id="content">
<div class="text">
</div>
</div>
<script type="text/javascript">
navigate('main.php', 'content');
</script>
....
这不起作用,如果我启动一个新的浏览器会话并导航到 index.php,它会显示一个登录窗口。登录后它会将我重定向到 index.php,但设置了一些会话变量和 cookie。现在 index.php 包含上面的代码,在此content
之前不存在。
现在到我的问题:似乎大多数浏览器拒绝接受content
存在的存在,在我拥有的导航功能中:
function navigate(str, what) {
if(what == null) {
what = document.documentElement;
} else {
what = document.getElementById(what);
}
会变成什么,null
因为它在执行时不是有效的元素。
我试过了:
window.onLoad = naviate('main.php', 'content');
哪个什么都不做,那里有同样的问题..还尝试<script>
在没有运气的情况下将块放在最后。
我不能使用 jQuery 或任何东西,所以请将其保留为标准的 Javascript、HTML 和 CSS。使用的浏览器:IE8、Chrome、FireFox。
- 加载 index.php
- 登录到登录窗口
- 加载 index.php
- 完成 index.php 加载后,读取所有元素,包括
content
- 更新
content
一些 AJAX 数据。
如果它有效
我登录,加载页面一次,结果不成功,然后再次刷新页面。
原因如下:
我也在登录窗口上使用 AJAX,它使用navigate()
我所有的按钮,而不是什么。所以问题是index.php
通过登录窗口加载,该登录窗口使用 AJAX (javascript) 更新整个页面,然后尝试navigate()
从 AJAX 调用的返回数据中再次调用......
“内联”navigate()
得到打电话!!!,只是它不知道所有元素,因为它是通过 AJAX 加载的。