0

次のコードを作成し、一部の電話ブラウザーでエラーをキャッチします。

Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/22.0.110; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.4
Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 Nokia5800d-1/52.0.007; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 BrowserNG/7.2.6.9 3gpp-gba
Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 Nokia5228/40.1.003; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 BrowserNG/7.2.7.4 3gpp-gba
Mozilla/5.0 (SymbianOS/9.3; Series60/3.2 NokiaC5-00/031.022; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 BrowserNG/7.2.3.1
Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 Nokia5230/40.0.003; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 BrowserNG/7.2.7.4 3gpp-gba

コード:

try {

var blank_function = function () {}; if (window) window.ll = 9423;
if (!window.console) {
    window.console = {time: blank_function, timeEnd: blank_function, log: blank_function, dir: blank_function}; if (window) window.ll = 9425;
}
if (!console.time) {
    console.time = blank_function; if (window) window.ll = 9428;
}
if (!console.timeEnd) {
    console.timeEnd = blank_function; if (window) window.ll = 9431;
}
if (!console.log) {
    console.log = blank_function; if (window) window.ll = 9434;
}
if (!console.dir) {
    console.dir = blank_function; if (window) window.ll = 9437;
}


console.time("other"); if (window) window.ll = 9441;

} catch(e) {if (window.send_exception && typeof window.send_exception == typeof function(){}) {window.send_exception(e);}}

それの何が問題ですか?戻り値は使用しません => 未定義の可能性があります。他のブラウザではエラーなしで動作します。

例外データ:

Array (
    [name] => TypeError
    [message] => Value undefined (result of expression console.time) is not object.
    [line] => 9442
    [toString] => TypeError: Value undefined (result of expression console.time) is not object.
)

PS 下手な英語で申し訳ありません。

PPS window.ll = 行番号 - 1.

4

1 に答える 1

0

私はまだ1つの説明しか見ていません:

この JavaScript 実装にはwindow.consoleobject が含まれていますが、 method は含まれていませんtime

ただし、オブジェクトはメソッドを追加できないため、の割り当てはblank_function何も与えません。

その後、メソッドが存在しないため、呼び出しを行うことはできませtimeん。

于 2015-09-23T12:24:14.443 に答える