jQuery Selector innerHTML只返回innerHTML的一半

时间:2015-10-30 15:48:36

标签: javascript jquery jquery-selectors html-head

我有一个jQuery选择器,可以获取iframe <head>。在开发中,<head>上的内容看起来是单向的,但在生产中<head>的项目较少,因为我将其中的许多项目缩减为单个文件。这是选择器:

$(ifr.contentWindow.document.head)

在开发中,当我查看返回的内容时,我可以看到头部的所有内容,但在生产中它并不会返回所有内容。在生产中,选择器的innerHTML在此行之后不显示任何内容:

<script src="javascript/lib-min.js?urlCacheBust=30102015102138908"></script>

以下是生产中头标记的全部内容。为什么在innerHTML中没有报告该行之后的所有内容?

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />


<meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title>XXXXXXXXXXXX</title>



    <script>
        var gApplicationName = 'XXXXXXXX';
        var gSessionTimeoutMinutes = 'XXXXXXXX';
        var gShowSessionEstablishedMsg = false;
        var jspath = "javascript";
        var imgpath = "images";
    </script>




    <script type="text/javascript" src="javascript/jquery-1.8.2.min.js?urlCacheBust=30102015115027842"></script>

    <script type="text/javascript" src="css/autumn/jquery-ui.min.js?urlCacheBust=30102015115027842"></script>
    <link type="text/css" href="css/autumn/jquery-ui.min.css?urlCacheBust=30102015115027842" rel="stylesheet" />

    <script>jQuery.noConflict();</script>


        <script src="javascript/lib-min.js?urlCacheBust=30102015115027842"></script>
    <script src="javascript/jqPlugins/dump/jquery.dump.js?urlCacheBust=30102015115027842" type="text/javascript"></script>


    <link rel="stylesheet" type="text/css" media="screen" href="css/jqGrid/ui.jqgrid.css?urlCacheBust=30102015115027843"></link>

    <script>jQuery.jgrid.no_legacy_api = true;</script>



    <link rel="stylesheet" type="text/css" href="javascript/jqPlugins/gritter/gritter.css?urlCacheBust=30102015115027843"></link>



    <link rel='stylesheet' type='text/css' href='javascript/jqPlugins/fullcalendar/fullcalendar.css?urlCacheBust=30102015115027843' />
    <link rel='stylesheet' type='text/css' href='javascript/jqPlugins/fullcalendar/fullcalendar.print.css?urlCacheBust=30102015115027843' media='print' />

    <link rel="stylesheet" href="javascript/jqPlugins/validationEngine/validationEngine.jquery.css?urlCacheBust=30102015115027843" type="text/css"/>



    <link rel="stylesheet" type="text/css" href="javascript/jqPlugins/clockpicker/dist/jquery-clockpicker.css?urlCacheBust=30102015115027843">






    <link href="css/dhtmlwindowcss.css?urlCacheBust=30102015115027843" type="text/css" rel="stylesheet" />
    <link rel="shortcut icon" href="images/app_favicon.ico">


        <link title="legacytheme" href="css/autumn.css?urlCacheBust=30102015115027843" type="text/css" rel="stylesheet">


</head>

更新 - 如果我开始删除关闭的</script>代码,那么innerHTML会让它进一步向下。 innerHTML现在将所有内容返回到此行:

<script type="text/javascript">jQuery.jgrid.no_legacy_api = true;</script>

但我显然无法删除关闭脚本标记。我以前从未见过这样的行为。

更新 - 在我的批处理文件中制作lib-min.js如果删除它,一切正常:javascript\jqPlugins\jqGrid\jquery.jqGrid.min.js

1 个答案:

答案 0 :(得分:0)

这个错误最终是因为我们使用的旧学校模态弹出窗口:

DHTML模态窗口 - 动态驱动器,可从以下位置获取:http://www.dynamicdrive.com

出于某种原因,在其modal.js上运行Google Closure搞砸了。我不确定实际出现了什么问题,但我知道在经过大约25个以上的js文件后,这个特定的文件会导致问题。