IE8 - html解析错误:无法修改子容器之前的父容器元素

时间:2013-02-26 11:40:20

标签: javascript jquery internet-explorer-8 cross-browser

抱歉发布了过去多次处理过的问题,但是我已经查看了堆栈溢出时可以找到的答案,但仍然无法修复。

我的问题与其他人的问题相同(例如HTML parsing error)。我正在使用jQuery,这导致错误。我尝试过this之类的修补程序,它建议我将jQuery包装在$(document).ready(function(){ }中,但这不能解决问题。

我在我的文档的body标记之前包含一个php文件,它将标题设置为JavaScript,设置一些变量然后需要两个.js文件(其中包含各种函数,函数调用和事件触发器)。我已经尝试在文档就绪函数中包装整个JS输出,但仍然遇到同样的问题。

我还尝试过只使用函数调用周围的函数或任何看起来像是在加载文档之前尝试访问DOM元素的函数(即函数调用访问DOM元素但没有函数本身的函数)但是这个也不起作用。

我想知道(i)有什么理由将我的所有jquery包装在文件就绪函数中不应该解决问题(如下所示)? (ii)有没有办法调试究竟是什么导致错误?

谢谢!

echo '$(document).ready(function() {
'; 

    echo 'var station_report_pref = "' . $station . '";
var dropdowns_choose = "'.get_string('dropdowns_' . $choose_or_all, 'theme_pichincha').'";
var dropdowns_ok = "'.get_string('dropdowns_ok', 'theme_pichincha').'";
var preset_main_dd = false;
var sys_admin = false;
';

    if ($adminrole == 'siteadmin') {
        echo 'var sys_admin = true;
';
    }

    if ($_GET['pagetype'] == "admin-user-editadvanced-create") {
        // This is a create new user page
        echo 'preset_main_dd = true;
';
    }

    require_once 'dropdown.js';
    require_once 'dropdown-reports.js';

echo '
});';

1 个答案:

答案 0 :(得分:0)

这是IE8中的一个错误。 您可以下载Internet Explorer KB2360131的累积安全更新来解决此问题。

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27630(Windows XP)

OR

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27622(Windows Vista)