2011 2月 18日 2011年

IE瀏覽器的JavaScript錯誤:對象不支持此屬性或方法

這個奇怪的問題,其中一塊Javascript的工作像往常一樣欄的IE瀏覽器在所有ANS罰款 :) 它是簡單的,但因為不是我寫的腳本,過了一段時間來調試這個“對象不支持此屬性或方法”的錯誤,只有IE瀏覽器被扔了 可能! 如果我是寫劇本,我不會有這個錯誤,不要混淆我的變量名,字段ID :)。

問題:對象不支持此屬性或方法(第3行)

function funzoneSP(){ document.getElementById('video_id').style.visibility="hidden"; shortdesc = document.getElementById('shortdesc').value; .... } 

解決方案:
在上面的例子(3號線......的“shortdesc = document.getE ......”)thirdrow產生錯誤。 我想所有的那種愚蠢的事情,甚至我不值得在這裡提到,終於猜到什麼! 只是改變shortdesc VAR別的擺脫了錯誤。 基本上! 變量的名稱有不同從fieldID的


2009 03月 24日 二零零九年

禁用=“true”和禁用=“假”一樣嗎?

這的老學校,但像往常一樣,它是我的記憶中補充...
所以被禁用=“true”和禁用=“假”相同嗎?
...不要相信! 多數民眾贊成的方式是......這裡是一些簡單的解釋...
“禁用”是任何形式的元素/字段的屬性,因此可以接受任何價值,其性質。

只要這個屬性是目前,該元素將被禁用,不管它的價值。 例如。
<input type="text" value="This是disabled" disabled>
<input type="text" value="This是disabled" disabled="disabled">
<input type="text" value="This是disabled" disabled="true">
<input type="text" value="This是disabled" disabled="false">

上述所有將本表格字段“已禁用”。

根本就沒有提供屬性“禁用”保持現場“禁止”......像下面

<input type="text" value="This是不disabled"的/>

記住“ 任何殘疾人士的屬性值(或沒有價值),瀏覽器將使其禁用 ”。 為了讓我們的頭腦W3C的事情說清楚,建議我們使用禁用=“禁用”,在這些情況 ​​下。

這是區別雖然我們在JavaScript中使用這個屬性時...

document.form.element.disabled = / /該元素將被禁用
document.form.element.disabled = FALSE; / /該元素將啟用

上述論點也適用於這些屬性和元素:

  • (單選按鈕,並選中複選框)
  • 選擇(選項)
  • nowrap(TD)

2009 3月 7 二零零九年

在Javascript中調用多個Windows的onload函數

下面,我有挖,因為情況commaned它的另一個小的Javascript弄虛作假的peice。 在我的網站之一,我有這種情況,在那裡我有兩次實施“windows.onload”。 將來到像我這樣的經驗的心(我必須誠實地說,因為我一直在使用JavaScript框架和圖書館,我福爾戈我自己...傷心,但真正做簡單的事情)的第一件事,就是下面的方法...

的window.onload = onloadfn1;
的window.onload = onloadfn2;
的window.onload = onloadfn3;
等等......

抱歉地說,但是,這不會工作,不想討論太多的Javascript執行科學......但根據我最近的經驗,只有最後一個函數(onloadfn3)會生病實際上得到執行。

在正常情況下,與礦(後來,我談一點),你可以做下列之一執行複式的onload函數....

或類似這樣的東西

函數doOnLoad(){
         onloadfn1();
         onloadfn2();
         onloadfn3();
 }
的window.onload = doOnLoad;

對於我目前的狀況,我不能使用上述...
為什麼我需要調用windows.onload兩次,而不是在一個單一的onload函數調用兩個函數? 這裡是快看看我的問題陳述...

“我的網站頁面結構像WordPress主題.... 即有一個共同的header.php文件,包括Footer.php獲取到所有的網站頁面。 那裡是中Footer.php的onload的功能implementaion做一些常見的onload函數。 有幾頁,需要自己的OnLoad的東西,除了共同onload函數所做的。 如果我給回調函數直接在window.onload處理程序,它會隨著騎在Footer.php以前分配的回調“

.... 是我的問題的理解 :)

好吧! 有幾個解決方案,我沒有找到。 他們都非常相似,主要由西蒙·威利森(給出一個解決方案implementions http://simonwillison.net/2004/May/26/addLoadEvent/ )...

解決方案:

只是這段JavaScript代碼添加到網站...

功能addLoadEvent(FUNC){
     oldonload = window.onload的;
     (typeof運算的window.onload ='功能'){
       的window.onload =功能
     }否則{
        =(){
            (oldonload){
                   oldonload()
           }
          函數()
        }
    }
 }

並調用,而不是通常“windows.onload”

 addLoadEvent(FunctionToRunOnPageLoad);
 addLoadEvent(函數(){
 / *更多的代碼運行在頁面加載*
 }); 

這個代碼片斷的優勢...
1。 首先,它可以讓你有多個windows.onload事件,呼籲從你的代碼的單獨部分,不overridding以前的定義
2。 這實在是不顯眼的。 它可以被放置在與其它腳本文件中或在一個單獨的文件。
3。 它的工作原理window.onload的,即使已經設置。


2008 2008年 12月 25日

載入JavaScript的動態

有時保持pageweight下來......我們我們的腳本分割成片段......這些JavaScript片段,可以裝載在有需要時(事件或點擊一個鏈接或按鈕等)。

載入JavaScript的動態很簡單,相當平直向前如下...

= “text/javascript” > < 腳本 類型 =“文本/ javascript”>
功能loadNewScript(源){
VAR = document.createElement方法(“腳本”)
s.setAttribute('型','文本/ javascript“);
s.setAttribute('src'中,源);
瑭插綋銉(S);
}
</ SCRIPT>

你可以有以下調用鏈接在身體的任何地方,或者你可以有這個腳本文件本身“的onLoad”...

= “javascript:loadNewScript('myDynamicScript.js');” >Load Dynamic Script</ a ><a href =“JAVASCRIPT:loadNewScript(”myDynamicScript.js);“>負載動態腳本</ A>

<body onload="loadNewScript('myDynamicScript.js');">


2008 2008年 10月 3日

簡單,輕巧,跨您的網頁瀏覽器收藏夾

不是只有少數的燈箱時,你可以找到你谷歌。 燈箱,我發現大部分的問題是,他們似乎都使用一個或其他重JavaScript框架如jQuery,原型,MooTools和喜歡。 他們都是冷靜和時髦的期待。 但是,如果你的要求是:“ 但我想一個我的網站的簡單和輕量級的燈箱腳本 ”,然後在這裡,它是;

這個燈箱一些不錯的功能

  1. 很輕
    一個。 包裝時的腳本4KB(8 KB解壓)
    2。 2 KB的CSS
    C。 幾行的HTML燈箱容器
  2. 簡單地理解和貫徹
  3. 可以在同一頁上有多個燈箱。
  4. 相同的燈箱容器用來顯示不同的內容(這是隱藏在頁面部門分別包括),根據選項,點擊鏈接/。
  5. 自動居中,同時考慮到所有因素,例如窗口的高度和寬度(屏幕分辨率),頁面滾動量和燈箱內容的高度
  6. 測試IE 7&FF

觀看演 ​​示 |
下載的燈箱來源郵編(下載1815次)


在zip文件中使用[檔案]燈箱

jo.js,jo_pack.js [包裝版本]: -一個簡單的JavaScript對象集[聯辦],其中包含的元素,窗口和文件定位腳本。 你可以打開JO.JS,如果你想創建抽象的功能,一些高級Javascripting讓你的手臟,延長元素的屬性等。 如果你不是太在Javascripting多少,不要管它。

lightbox.js,lightbox_pack.js [包裝版本]: -包含燈箱經理腳本。 如果你是網頁設計師,還負責執行頁面上的燈箱,你需要了解LightBoxManager。 LightBoxManager基本上包含兩個功能showLightBox,和closeLightBox。

lightbox.css: -如果你知道的CSS,你可以發揮與lightbox.css定制的外觀,N-感覺lightbox.css

燈箱兩種不同的內容,實施的index.html:樣品

lb_underlay_bkg.png: -這是光/西米透明圖像用於燈箱底圖的背景[底圖是低於lighbox,防止用戶點擊頁面上的任何其他實體層,而燈箱開放]。 為此目的,你可以使用任何圖像或純色,取決於的頁面設計和要求。

icon_lb_close.gif: -燈箱右上角密切燈箱手柄上的形象。 按設計可以使用任何圖像

觀看演 ​​示 |
下載的燈箱來源郵編(下載1815次)

請讓我們有您的意見和反饋...


2008 2008年 09月 13日

JavaScript的:在瀏覽器中編輯網頁

好吧,我必須說,不是這樣一個有用的科學,但如果你是一名Web開發人員,可能來得心應手,有一天(或將)。 這裡是小書籤,它允許任何網站編輯網頁。
對不起! 您可以保存在本地機器上的結果。

JavaScript:document.body.contentEditable的='真'; document.designMode ='上';無效0


2008 2008年 9月 2日

CSS破解:僅用於Firefox的JavaScript,CSS,HTML

很多時候,我們覺得有必要寫的瀏覽器specfic黑客(雖然它不是一個好的做法,我們UI開發人員必須求助於偉大的瀏覽器,直到戰爭的罪惡休戰)。 早些時候,我曾在這篇文章中提到的非法入境者只有 ,如何寫一個CSS片段,那將是可見的IE瀏覽器IE7中只。

昨天,我的情況下,我想寫一些Firefox特定CSS片段。 好吧! 我不知道是否有這一個CSS代碼,但有一個HTML。 是一個陷阱雖然 ,這一塊的HTML亙古不變通的HTML驗證。 但是,anywaz! 如果你被卡住嚴重或因此,有沒有驗證方面(有時是殘酷的),你可以使用下面的聲明一個FF只樣式的鏈接,或者甚至只是這個區塊內的CSS編碼。 代碼是

<comment>把你的Firefox的HTML / CSS /腳本在這裡</評論>

例如:
<comment>
<STYLE>
法郎只* / / *樣式
的fieldset {邊界:1px固體#dddddd;}
</ STYLE>
</評論>

我很高興的時刻...


2008 2008年 9月 1日

從JavaScript數組傳遞的字符串相匹配的特定項目

這裡的快速擴大本地的JavaScript數組對象,只是為了做到這一點的方式...

Array.prototype. removeItem =function(str) {
for(i=0; i<this.length ; i++){
if(escape(this[i]).match(escape(str.trim()))){
this.splice(i, 1); break;
}
}
return this;
}

所以,現在你可以做這樣的事情......

var animals= new Array("dog","lion","cat","tiger","elephant");
animals. removeItem ('tiger');

現在的動物數組將包含“狗”,“獅子”,“貓”,“大象”;

注:這裡是字符串修剪原型...

String.prototype.trim=function(str) {
str = this != window? this : str;
return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}


享受....


2008 2008年 5月 15

最佳實踐:使用JavaScript

包括JavaScript在HTML文檔的底部

如果沒有文件撰寫(或任何頁面內容使用的JavaScript動態生成)插入頁的內容的一部分,在你的腳本,將腳本包括BODY標記年底前,語句在頁面底部。
HTTP/1.1規範建議瀏覽器不超過兩部分組成,每個主機的並行下載。 如果您的圖片,從多個主機服務,你可以得到兩個以上的下載發生在平行。 然而,當一個腳本下載,瀏覽器不會啟動任何其他下載,甚至在不同的主機名。
也有動態創建腳本節點和遠程腳本加載後使用AJAX頁面加載的方式。

外化你JavaScript的

使用外部JavaScript文件會導致更快的頁面加載JavaScript文件,因為是由瀏覽器的緩存。 內嵌JavaScript的HTML文檔中的“獲得下載HTML文件的要求。 這實際上可能降低的HTTP請求的數量,但後來增加了HTML文檔的大小。 外部JavaScript的瀏覽器緩存的HTML文檔的大小沒有增加HTTP請求的數量減少。
請注意,如果您的網站上的用戶,每個會話有多個頁面訪問量和您的網頁重新使用相同的腳本和樣式很多,有更大的緩存外部文件的潛在利益。

包JavaScript文件

不同的CSS,JavaScript的情況下,這些文件可能嘎吱嘎吱使用一些標準的算法,將減少文件的大小,比簡單地去除空格或製表符。 例如JavaScript的包裝可以在這裡找到http://dean.edwards.name/packer/

擺脫任何重複的腳本

這是極不尋常,整個腳本可能會重複,但美國十大網站的評論表明,其中兩個含有重複的腳本。 重複的腳本,但明顯降低,造成不必要的HTTP請求和浪費JavaScript執行性能。
此外,在許多情況下,儘管腳本的名稱是不同的,是由於團隊的規模和數量的腳本在同一頁面重複的腳本的可能性。

最小化在可能的情況下訪問DOM元素

使用JavaScript訪問DOM元素是緩慢的,因此,為了有更敏感的頁面,你應該:
•緩存參考訪問元素
•更新節點“離線”,然後將它們添加到樹
•避免固定用JavaScript佈局

從內容和表現的分離行為

正如我們單獨介紹(CSS / XSLT),內容(XHTML / XML的),我們也應該分開行為(JavaScript)的。 這就是所謂的不顯眼的Javascript。 正如我們鏈接到外部CSS文件,我們應該鏈接到外部JavaScript文件。

行為,而不是硬編碼的內容(如onmouseover的onclick等)的行為,應被動態添加元素,類和獨特的元素(IDS)使用DOM。 的基礎性文件的內容,應包含唯一有效的XHTML / XML和沒有JavaScript。
添加行為的Javascript應該增加的內容。 內容應保持有用和可用,沒有JavaScript(或不完整的JavaScript支持)。


2008 3月 15 2008

可見刺激性通過彈出分部的選擇框

在多個場合,同時彈出部門/燈箱/提示頁面佈局等我們遇到某種形式的選擇對象恰好是根據這些彈出分部設計的,它表明通過的情況下...... 毓!!

好吧! 你可以很容易地修復你的Z指數值適當調整FF和IE7。 但好舊(雙關語意)IE6的行為並不如預期.... 選擇框顯示,即使你申請一些大幅高Z指數值,您的彈出司...無賴!!!

有此問題沒有修復,但也有,我相信,多一些工作方式解決這個問題,但我在這裡要告訴你,我用最簡單的解決,​​這對我來說工作得很好,在最案件....

“隱藏胭脂SELECT顯示彈出框當您

你只需在你的腳本片段顯示您的彈出,添加一塊腳本設置選擇框的知名度,以“隱藏”

document.getElementById(“my_select)style.visibilty =”隱藏“。

並記住設置您的彈出部結束

。document.getElementById(my_select“)style.visibilty的”可見“;

,“my_select”是刺激的選擇框的ID

希望這有助於...

聚苯乙烯。 有像的ofcourse其他選項你彈出一個IFRAME(大小相同),根據彈出的DIV動態positionining ......這工作得很好,但另外一個DOM元素,腳本和頭痛的負載。 我已經使用這個解決方案,如果你需要任何幫助這個選項,不要讓我知道。 會很樂意幫助!


NDK的家 | 表達它 表示唇齶裂 表示Penmenship 表示敬畏 表達自己