我有一个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
。
答案 0 :(得分:0)
这个错误最终是因为我们使用的旧学校模态弹出窗口:
DHTML模态窗口 - 动态驱动器,可从以下位置获取:http://www.dynamicdrive.com
出于某种原因,在其modal.js上运行Google Closure搞砸了。我不确定实际出现了什么问题,但我知道在经过大约25个以上的js文件后,这个特定的文件会导致问题。