繁体   English   中英

正在为IE7加载JavaScript。.我最大的功能是什么?

[英]Loading javascript for IE7.. What's my big 'Don't'?

我最近开始在IE7中调试我的应用程序,并发现大量的jQuery和javascript无法正确加载。 但是,如果我从javascript.js文件中提取了特定功能的代码片段,并将其硬编码在我正在处理的页面的底部,那么它就可以工作了!

我的大问题是,我应该采取什么步骤才能使jQuery和javascript从其各自的外部文件中正确加载?

这是我的.js文件的示例。 这只是一个小片段示例,当我从文件中删除该文件并将其硬编码到页面底部时,它就被调用了。 还要注意,我的所有代码都可以在IE8,Safari,Chrome和Firefox中完美运行。

//javascript.js

$(document).ready(function() { 
  $('a[rel*=facebox]').facebox()
  $(".close_facebox").live("click", function(){
    $.facebox.close();
  });
});

而且我的自定义javascript都以其正确的重要性层次结构实例化。 首先是jQuery,然后是主库,最后是我的自定义迷你脚本。

更新

这是我的头像:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
<head>
  <meta content='text/html;charset=UTF-8' http-equiv='content-type' />
  <title>HQchannel</title>
  <meta content='Local, New Jersey, Promotions, Coupons, Deals, Businesses, telephone, North Jersey' name='keywords' />
  <meta content='Your local guide to events, promotions, and every local company near you. We are local search made wonderful.' name='description' />
  <meta content='6670644BEAA93299A81158F71F517217' name='msvalidate.01' />
  <meta content='c89c098960f9f17d' name='y_key' />

  <link href="/stylesheets/reset.css?1280427413" media="screen" rel="stylesheet" type="text/css" />
  <link href="/stylesheets/text.css?1265032682" media="screen" rel="stylesheet" type="text/css" />
  <link href="/stylesheets/960.css?1265032682" media="screen" rel="stylesheet" type="text/css" />
  <link href="/stylesheets/main.css?1289324536" media="screen" rel="stylesheet" type="text/css" />
  <link href="/dynamic_stylesheets/image_css.css" media="screen" rel="stylesheet" type="text/css" />
  <![if !(IE 6)]>
  <link href="/stylesheets/not-ie6.css?1270651849" media="screen" rel="stylesheet" type="text/css" />
  <![endif]>
  <!--[if IE 7]> 
    <link href="/stylesheets/is-ie7.css?1276194187" media="screen" rel="stylesheet" type="text/css" />
  <![endif]-->

  <![if !(IE)]>
  <link href="/stylesheets/not-ie.css?1278686676" media="screen" rel="stylesheet" type="text/css" />
  <![endif]>
  <link href="/stylesheets/themes/main-booger/jquery-ui-1.7.2.custom.css?1267136221" media="screen" rel="stylesheet" type="text/css" />
  <link href="/stylesheets/facebox.css?1289316781" media="screen" rel="stylesheet" type="text/css" />
  <script src="/javascripts/jquery-1.3.2.min.js?1265032682" type="text/javascript"></script>
  <script src="/javascripts/jquery-ui-1.7.2.custom.min.js?1267136221" type="text/javascript"></script>
  <script src="/javascripts/swfobject.js?1265032682" type="text/javascript"></script>

  <script src="/javascripts/jquery.dirtyform.js?1265032682" type="text/javascript"></script>
  <script src="/javascripts/jquery.Jcrop.min.js?1265032682" type="text/javascript"></script>
  <script src="/javascripts/application.js?1289316793" type="text/javascript"></script>
  <script src="/javascripts/jquery.updater.js?1268851685" type="text/javascript"></script>
  <script src="/javascripts/jquery.periodicalupdater.js?1268851685" type="text/javascript"></script>
  <script src="/javascripts/easyTooltip.js?1265032682" type="text/javascript"></script>

  <script src="/javascripts/easySlider.js?1267136221" type="text/javascript"></script>
  <script src="/javascripts/facebox.js?1289316781" type="text/javascript"></script>
  <script type="text/javascript">
  </script>
  <link href='/images/favicon.ico' rel='shortcut icon' />
  <link href="/stylesheets/jquery.Jcrop.css?1265032682" media="screen" rel="stylesheet" type="text/css" />
  <link href="/stylesheets/themes/redmond/jquery-ui-1.7.2.custom.css?1265032683" media="screen" rel="stylesheet" type="text/css" />
  <link href="/panda_uploader/panda-uploader.css?1272561465" media="screen" rel="stylesheet" type="text/css" />

  <script src="/javascripts/jquery-ui-1.7.2.custom.min.js?1267136221" type="text/javascript"></script>
  <script src="/javascripts/jquery.Jcrop.min.js?1265032682" type="text/javascript"></script>
  <script src="/javascripts/swfupload.js?1265032682" type="text/javascript"></script>
  <script src="/javascripts/jquery.swfupload.js?1280435993" type="text/javascript"></script>
  <script src="/javascripts/manage.js?1289316781" type="text/javascript"></script>
  <script src="/javascripts/ckeditor/ckeditor.js?1281027480" type="text/javascript"></script>

  <script src="/panda_uploader/jquery.panda-uploader-1.0.1.min.js?1289316781" type="text/javascript"></script>
</head>

我敢打赌,您使用的某些语法会阻塞IE7,但不会阻塞其他浏览器。 这个咬了我几次

var myLookup = {a: "a", b: "b",};

其他浏览器采取尾随,但不是IE7。

无论如何,这就是我缩小范围的方法。 这是痛苦的二进制文件搜索方法。 首先,请彻底清除javascript.js文件。 加载页面。 有什么错误吗? 可能不是。 现在,替换一半的javascript.js文件。 有什么错误吗? 如果没有,那么您的问题可能出在您删除的一半中。 有错误吗? 这样一来,您放回的一半可能就出错了。 删除一半,看看是否会导致错误,等等。 最终,您将其缩小为IE7不喜欢的一个愚蠢的小东西,您将更改1行代码,并且心情很糟糕。

另外,仅供参考,您要多次包含一些文件。 您的某些条件IE注释的格式不正确。 他们像这样去:

<!--[if IE]>  //do stuff  <![endif]-->

您在IE6注释中省略了-- ,但IE7注释正确。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM