0
OldFunc = window.onload;
window.onload = OnLoad;

function OnLoad(){
    try{

        var pathName = window.location.pathname.toLowerCase();

        //alert(pathName);
        if( pathName.indexOf("something")!=-1)
        {           
            OnFixFontAndTable();
            alert(pathName);
        }   
        OldFunc();
    }
    catch(e) 
    {
        alert(e);
    }
} 

function OnFixFontAndTable()
{
    //$('body').attr('style','');   
    document.getElementsByTagName('body').style="";
}

そのコード スニップを使用してページ内の本文のスタイルを削除したいのですが、ページを実行すると、「TypeError OldFunc は関数ではありません」というエラーが表示され続けます。

URLアドレスバーに次のようにフィードします"localhost:8080/pages/something.php"

4

3 に答える 3

2

最初の行を次のように変更してみてください。

var OldFunc = window.onload || function() {};

の場合、それを呼び出そうとすると、そのエラーが発生しますwindow.onloadundefined上記のコードはOldFunc、がの場合に空の関数を割り当てるので、呼び出しようとしても失敗しません。window.onloadundefinedOldFunc()OnLoad()

または、イベントを指定してjQueryにイベントを処理させますonDomReady。コードの最初の2行を次のように置き換えます。

$(function() {
    OnLoad();
});
于 2012-11-23T08:27:37.700 に答える
0

まあ、あなたは自分でそれを説明しました。CodeSnippet に OldFunc という名前の関数はありません。

試す

$(document).ready(OnLoad);

function OnLoad(){
    try{

        var pathName = window.location.pathname.toLowerCase();

        //alert(pathName);
        if( pathName.indexOf("something")!=-1)
        {           
            OnFixFontAndTable();
            alert(pathName);
        }   
    }
    catch(e) 
    {
        alert(e);
    }
} 

function OnFixFontAndTable()
{
    //$('body').attr('style','');   
    document.getElementsByTagName('body').style="";
}
于 2012-11-23T08:29:00.423 に答える
-1

OnFixFontAndTableを「OnLoad」の上に移動して再試行します

于 2012-11-23T08:27:20.517 に答える