{"id":22,"date":"2007-05-21T00:14:17","date_gmt":"2007-05-21T04:14:17","guid":{"rendered":"http:\/\/prglab.com\/blog\/?page_id=22"},"modified":"2010-09-30T10:56:18","modified_gmt":"2010-09-30T14:56:18","slug":"js-onerror","status":"publish","type":"page","link":"https:\/\/www.prglab.com\/blog\/js-tutorial\/js-onerror","title":{"rendered":"JavaScript\u4e2d\u7684onerror\u4e8b\u4ef6"},"content":{"rendered":"<p>\u4f7f\u7528 onerror \u4e8b\u4ef6\u662f\u4f20\u7edf\u7684\u6355\u6349\u9875\u9762\u51fa\u9519\u7684\u65b9\u6cd5\u3002<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n<strong>onerror \u4e8b\u4ef6<\/strong><\/p>\n<p>\u6211\u4eec\u524d\u9762\u4ecb\u7ecd\u4e86\u600e\u6837\u4f7f\u7528try&#8230;catch \u8bed\u53e5\u6765\u6355\u6349\u9875\u9762\u51fa\u9519\u3002 \u73b0\u5728\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 onerror \u4e8b\u4ef6\u6765\u8fbe\u5230\u540c\u6837\u7684\u76ee\u7684\u3002<\/p>\n<p>\u5f53\u9875\u9762\u4e2d\u51fa\u73b0\u9519\u8bef\u65f6\uff0c onerror \u4e8b\u4ef6\u5c31\u4f1a\u88ab\u89e6\u53d1\u3002<\/p>\n<p>\u4f7f\u7528onerror\u4e8b\u4ef6\uff0c \u4f60\u9700\u8981\u5199\u4e00\u4e2a\u51fd\u6570\u6765\u5904\u7406\u8fd9\u4e9b\u9519\u8bef\uff0c \u7136\u540e\u7528onerror\u4e8b\u4ef6\u5904\u7406\u5668(handler)\u8c03\u7528\u8fd9\u4e2a\u51fd\u6570\u3002 \u8fd9\u4e2a\u4e8b\u4ef6\u5904\u7406\u5668\u6709\u4e09\u4e2a\u53c2\u6570\uff1amsg (\u51fa\u9519\u4fe1\u606f), url (\u51fa\u9519\u9875\u9762\u7684url) \u548c line (\u51fa\u9519\u884c\u53f7)\u3002<\/p>\n<p><strong>\u8bed\u6cd5<\/strong><\/p>\n<table border=\"0\" cellspacing=\"1\" cellpadding=\"3\" width=\"96%\" align=\"center\">\n<tbody>\n<tr>\n<td class=\"quote\">onerror=handleErr<\/p>\n<p>function handleErr(msg,url,l)<br \/>\n{<br \/>\n\/\/\u51fa\u9519\u5904\u7406<br \/>\nreturn true or false<br \/>\n}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>onerror\u7684\u8fd4\u56de\u503c\u51b3\u5b9a\u4e86\u6d4f\u89c8\u5668\u662f\u5426\u663e\u793a\u4e00\u4e2a\u6807\u51c6\u51fa\u9519\u4fe1\u606f\u3002 \u5982\u679c\u4f60\u8fd4\u56de\u7684\u662ffalse\uff0c\u6d4f\u89c8\u5668\u5c06\u5728JavaScritp\u7684console\u91cc\u663e\u793a\u6807\u51c6\u51fa\u9519\u4fe1\u606f \uff08IE\u6d4f\u89c8\u5668\u5de6\u4e0b\u89d2\u72b6\u6001\u680f\u51fa\u73b0\u4e00\u4e2a\u9ec4\u8272\u60ca\u53f9\u53f7\u5c0f\u4e09\u89d2\uff0c\u53cc\u51fb\u8fd9\u4e2a\u5c0f\u4e09\u89d2\u4f1a\u770b\u5230Javascript console\uff09\u3002 \u5982\u679c\u8fd4\u56detrue\uff0c \u6d4f\u89c8\u5668\u5219\u4e0d\u4f1a\u663e\u793a\u6807\u51c6\u51fa\u9519\u4fe1\u606f (IE\u6d4f\u89c8\u5668\u4e0d\u51fa\u73b0\u9ec4\u8272\u5c0f\u4e09\u89d2)\u3002<\/p>\n<p>\u63d0\u793a\uff1a\u8fd9\u4e2a\u8fd4\u56de\u503c\u5bf9FireFox\u597d\u50cf\u6ca1\u4ec0\u4e48\u7528\u3002\u5176\u4ed6\u7684\u6d4f\u89c8\u5668\u6211\u6ca1\u6709\u8bd5\u3002<\/p>\n<p><strong>\u4f8b\u5b50<\/strong><\/p>\n<p>\u4ee5\u4e0b\u4f8b\u5b50\u663e\u793a\u4e86\u5982\u4f55\u7528onerror\u4e8b\u4ef6\u6765\u6355\u6349\u4e00\u4e2a\u51fa\u9519\uff1a<\/p>\n<table border=\"0\" cellspacing=\"1\" cellpadding=\"3\" width=\"96%\" align=\"center\">\n<tbody>\n<tr>\n<td class=\"quote\">&lt;html&gt;<br \/>\n&lt;head&gt;<br \/>\n&lt;script type=&#8221;text\/javascript&#8221;&gt;<br \/>\nonerror=handleErr<br \/>\nvar txt=&#8221;&#8221;<br \/>\nfunction handleErr(msg,url,l)<br \/>\n{<br \/>\ntxt=&#8221;There was an error on this page.\\n\\n&#8221;<br \/>\ntxt+=&#8221;Error: &#8221; + msg + &#8220;\\n&#8221;<br \/>\ntxt+=&#8221;URL: &#8221; + url + &#8220;\\n&#8221;<br \/>\ntxt+=&#8221;Line: &#8221; + l + &#8220;\\n\\n&#8221;<br \/>\ntxt+=&#8221;Click OK to continue.\\n\\n&#8221;<br \/>\nalert(txt)<br \/>\nreturn true<br \/>\n}<br \/>\nfunction message()<br \/>\n{<br \/>\nadddlert(&#8220;Welcome guest!&#8221;)<br \/>\n}<br \/>\n&lt;\/script&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&lt;body&gt;<br \/>\n&lt;input type=&#8221;button&#8221; value=&#8221;View message&#8221; onclick=&#8221;message()&#8221; \/&gt;<br \/>\n&lt;\/body&gt;<br \/>\n&lt;\/html&gt;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8fd9\u91cc\u663e\u793a\u63d0\u793a\u6846\u7684\u51fd\u6570\u540d\u79f0addalert()\u88ab\u9519\u5199\u6210\u4e86add<span style=\"color: #ff0000;\">d<\/span>lert()\u3002\u6d4f\u89c8\u5668\u8fd0\u884c\u5230\u8fd9\u91cc\u4f1a\u53d1\u73b0\u9519\u8bef\u800c\u89e6\u53d1onerror\u4e8b\u4ef6\uff0c\u8c03\u7528\u51fa\u9519\u5904\u7406\u51fd\u6570handleErr\uff08\uff09\uff0c\u4f1a\u51fa\u73b0\u4e00\u4e2a\u8b66\u544a\u63d0\u793a\u6846\u663e\u793a\u51fa\u9519\u4fe1\u606f\uff0cURL\uff0c\u884c\u6570\u3002\u70b9OK\u540e\uff0c\u8fd9\u4e2a\u7a0b\u5e8f\u8fd4\u56de\u7684\u662ftrue\uff0c\u6240\u4ee5IE\u6d4f\u89c8\u5668\u5c06\u4e0d\u4f1a\u518d\u663e\u793aJavascript\u51fa\u9519\u7684\u9ec4\u8272\u8b66\u793a\u3002\u5982\u679c\u5c06\u7a0b\u5e8f\u4e2dtrue\u6539\u4e3afalse\uff0c\u518d\u8fd0\u884c\uff0c\u70b9OK\u540e\uff0c\u4f1a\u770b\u5230IE\u6d4f\u89c8\u5668\u5de6\u4e0b\u89d2\u51fa\u73b0Javascript\u51fa\u9519\u7684\u9ec4\u8272\u8b66\u793a\u6807\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4f7f\u7528 onerror \u4e8b\u4ef6\u662f\u4f20\u7edf\u7684\u6355\u6349\u9875\u9762\u51fa\u9519\u7684\u65b9\u6cd5\u3002 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- onerror \u4e8b\u4ef6 \u6211\u4eec\u524d\u9762\u4ecb\u7ecd\u4e86\u600e\u6837\u4f7f\u7528try&#8230;catch \u8bed\u53e5\u6765\u6355\u6349\u9875\u9762\u51fa\u9519\u3002 \u73b0\u5728\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 onerror \u4e8b\u4ef6\u6765\u8fbe\u5230\u540c\u6837\u7684\u76ee\u7684\u3002 \u5f53\u9875\u9762\u4e2d\u51fa\u73b0\u9519\u8bef\u65f6\uff0c onerror \u4e8b\u4ef6\u5c31\u4f1a\u88ab\u89e6\u53d1\u3002 \u4f7f\u7528onerror\u4e8b\u4ef6\uff0c \u4f60\u9700\u8981\u5199\u4e00\u4e2a\u51fd\u6570\u6765\u5904\u7406\u8fd9\u4e9b\u9519\u8bef\uff0c \u7136\u540e\u7528onerror\u4e8b\u4ef6\u5904\u7406\u5668(handler)\u8c03\u7528\u8fd9\u4e2a\u51fd\u6570\u3002 \u8fd9\u4e2a\u4e8b\u4ef6\u5904\u7406\u5668\u6709\u4e09\u4e2a\u53c2\u6570\uff1amsg (\u51fa\u9519\u4fe1\u606f), url (\u51fa\u9519\u9875\u9762\u7684url) \u548c line (\u51fa\u9519\u884c\u53f7)\u3002 \u8bed\u6cd5 onerror=handleErr function handleErr(msg,url,l) { \/\/\u51fa\u9519\u5904\u7406 return true or false } onerror\u7684\u8fd4\u56de\u503c\u51b3\u5b9a\u4e86\u6d4f\u89c8\u5668\u662f\u5426\u663e\u793a\u4e00\u4e2a\u6807\u51c6\u51fa\u9519\u4fe1\u606f\u3002 \u5982\u679c\u4f60\u8fd4\u56de\u7684\u662ffalse\uff0c\u6d4f\u89c8\u5668\u5c06\u5728JavaScritp\u7684console\u91cc\u663e\u793a\u6807\u51c6\u51fa\u9519\u4fe1\u606f \uff08IE\u6d4f\u89c8\u5668\u5de6\u4e0b\u89d2\u72b6\u6001\u680f\u51fa\u73b0\u4e00\u4e2a\u9ec4\u8272\u60ca\u53f9\u53f7\u5c0f\u4e09\u89d2\uff0c\u53cc\u51fb\u8fd9\u4e2a\u5c0f\u4e09\u89d2\u4f1a\u770b\u5230Javascript console\uff09\u3002 \u5982\u679c\u8fd4\u56detrue\uff0c \u6d4f\u89c8\u5668\u5219\u4e0d\u4f1a\u663e\u793a\u6807\u51c6\u51fa\u9519\u4fe1\u606f (IE\u6d4f\u89c8\u5668\u4e0d\u51fa\u73b0\u9ec4\u8272\u5c0f\u4e09\u89d2)\u3002 \u63d0\u793a\uff1a\u8fd9\u4e2a\u8fd4\u56de\u503c\u5bf9FireFox\u597d\u50cf\u6ca1\u4ec0\u4e48\u7528\u3002\u5176\u4ed6\u7684\u6d4f\u89c8\u5668\u6211\u6ca1\u6709\u8bd5\u3002 \u4f8b\u5b50 \u4ee5\u4e0b\u4f8b\u5b50\u663e\u793a\u4e86\u5982\u4f55\u7528onerror\u4e8b\u4ef6\u6765\u6355\u6349\u4e00\u4e2a\u51fa\u9519\uff1a &lt;html&gt; &lt;head&gt; &lt;script type=&#8221;text\/javascript&#8221;&gt; onerror=handleErr var txt=&#8221;&#8221; function handleErr(msg,url,l) { [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3,"menu_order":15,"comment_status":"open","ping_status":"open","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/www.prglab.com\/blog\/wp-json\/wp\/v2\/pages\/22"}],"collection":[{"href":"https:\/\/www.prglab.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.prglab.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.prglab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.prglab.com\/blog\/wp-json\/wp\/v2\/comments?post=22"}],"version-history":[{"count":2,"href":"https:\/\/www.prglab.com\/blog\/wp-json\/wp\/v2\/pages\/22\/revisions"}],"predecessor-version":[{"id":191,"href":"https:\/\/www.prglab.com\/blog\/wp-json\/wp\/v2\/pages\/22\/revisions\/191"}],"up":[{"embeddable":true,"href":"https:\/\/www.prglab.com\/blog\/wp-json\/wp\/v2\/pages\/3"}],"wp:attachment":[{"href":"https:\/\/www.prglab.com\/blog\/wp-json\/wp\/v2\/media?parent=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}