2010-07-13 78 views
1
<head> 
    <meta name="description" content="Directory" /> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"> </script> 

<script type="text/javascript" src="https://sitename.com/javascripts/toggle.js" language="javascript"></script> 

    </head> 

這是IE 7表示我還沒有檢查IE8和誤差6.'jQuery的' 是在IE7未定義錯誤

Message: 'jQuery' is undefined 
Line: 1 
Char: 1 
Code: 0 
URI: https://sitename.com/javascripts/toogle.js 

這是外部的JavaScript代碼

(function($) { 

    $(document).ready(function(){ 
      $('.divhide').hide(); 
        $('#ShowFields').show(); 
$('.DirectoryLink') .addClass('plus'); 
$('#DirectoryLink') .addClass('minus'); 
     $('.DirectoryTextLink').click(function(){ 
       $(this).next().slideToggle(); 
     $(this).toggleClass('minus'); 
       return false; 
    }); 
}); 


})(jQuery); 
+0

沒有足夠的信息。向我們展示所有腳本。 – 2010-07-13 18:07:47

+0

我不熟悉圍繞代碼的包裝函數 - 以前從未見過 - 是否有第一個函數($)和尾隨(jQuery)的原因?如果只是放在常規的$(document).ready函數中,切換不執行? – DeaconDesperado 2010-07-13 18:08:02

+0

@DeaconDesperado:這是一個自我調用的匿名函數,它以'jQuery'對象作爲參數調用自身。無論如何,該模式只是確保'$'綁定到'jQuery'。 – jAndy 2010-07-13 18:10:04

回答

3

您是否在toogle.js之前添加了jQuery文件?

編輯1:另外:擺脫腳本標記中的語言屬性。不知道是否將修復它,但它反正過時,所以你並不需要它:

<script type="text/javascript" src="https://sitename.com/javascripts/toggle.js" language="javascript"></script> 

而是使用:

<script type="text/javascript" src="https://sitename.com/javascripts/toggle.js"></script> 

編輯2:在toogle.js自前加入這一行調用函數:

jQuery.noConflict(); 

即使你在功能重新分配$,你可能仍然需要調用noConflict方法。

來源:http://api.jquery.com/jQuery.noConflict/

+0

是的。它在Firefox中工作正常 – 2010-07-13 18:06:24

+0

如果我們在腳本標籤中包含'語言'屬性,它會影響我們的腳本嗎? – 2010-07-13 18:19:32

+1

@武士傑克:我對此表示懷疑,但使用不推薦使用的屬性或元素通常被認爲是不好的做法。儘管大多數棄用的功能仍然有效,但並不意味着它始終有效。 @ metal-gear-solid:查看我的新編輯。 – 2010-07-13 18:21:37

0

這是發生,因爲一個腳本HTTP,另一個是HTTPS,這將導致與IE中的安全問題當父頁面上的HTTPS。如果您的父頁面位於https上,則必須在https上包含所有內容,包括圖像和腳本。

+0

但它在Firefox中工作正常 – 2010-07-13 18:28:37

+0

@ metal-gear-solid:試試吧。 Internet Explorer有很多「安全功能」會隨機破壞內容。 – 2010-07-13 18:33:14

+0

當談到https時,firefox更放任,即只是忽略那些不是https的東西,根據安全配置,它甚至不會問 – Rodrigo 2010-07-13 18:35:40