{"version":"1.0","provider_name":"\u54f2\u5b50\u6232 Philosophist\u2019s Camp","provider_url":"https:\/\/www.horace.org\/blog","author_name":"hevangel","author_url":"https:\/\/www.horace.org\/blog\/author\/hevangel-2\/","title":"\u671f\u6b0a\u6295\u8cc7\u5fc3\u5f97 - \u54f2\u5b50\u6232 Philosophist\u2019s Camp","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"TkUp1lDkOt\"><a href=\"https:\/\/www.horace.org\/blog\/2020\/02\/27\/%e6%9c%9f%e6%ac%8a%e6%8a%95%e8%b3%87%e5%bf%83%e5%be%97\/\">\u671f\u6b0a\u6295\u8cc7\u5fc3\u5f97<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.horace.org\/blog\/2020\/02\/27\/%e6%9c%9f%e6%ac%8a%e6%8a%95%e8%b3%87%e5%bf%83%e5%be%97\/embed\/#?secret=TkUp1lDkOt\" width=\"600\" height=\"338\" title=\"&#8220;\u671f\u6b0a\u6295\u8cc7\u5fc3\u5f97&#8221; &#8212; \u54f2\u5b50\u6232 Philosophist\u2019s Camp\" data-secret=\"TkUp1lDkOt\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/**\n * WordPress inline HTML embed\n *\n * @since 4.4.0\n * @output wp-includes\/js\/wp-embed.js\n *\n * Single line comments should not be used since they will break\n * the script when inlined in get_post_embed_html(), specifically\n * when the comments are not stripped out due to SCRIPT_DEBUG\n * being turned on.\n *\/\n(function ( window, document ) {\n\t'use strict';\n\n\t\/* Abort for ancient browsers. *\/\n\tif ( ! document.querySelector || ! window.addEventListener || typeof URL === 'undefined' ) {\n\t\treturn;\n\t}\n\n\t\/** @namespace wp *\/\n\twindow.wp = window.wp || {};\n\n\t\/* Abort if script was already executed. *\/\n\tif ( !! window.wp.receiveEmbedMessage ) {\n\t\treturn;\n\t}\n\n\t\/**\n\t * Receive embed message.\n\t *\n\t * @param {MessageEvent} e\n\t *\/\n\twindow.wp.receiveEmbedMessage = function( e ) {\n\t\tvar data = e.data;\n\n\t\t\/* Verify shape of message. *\/\n\t\tif (\n\t\t\t! ( data || data.secret || data.message || data.value ) ||\n\t\t\t\/[^a-zA-Z0-9]\/.test( data.secret )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar iframes = document.querySelectorAll( 'iframe[data-secret=\"' + data.secret + '\"]' ),\n\t\t\tblockquotes = document.querySelectorAll( 'blockquote[data-secret=\"' + data.secret + '\"]' ),\n\t\t\tallowedProtocols = new RegExp( '^https?:$', 'i' ),\n\t\t\ti, source, height, sourceURL, targetURL;\n\n\t\tfor ( i = 0; i < blockquotes.length; i++ ) {\n\t\t\tblockquotes[ i ].style.display = 'none';\n\t\t}\n\n\t\tfor ( i = 0; i < iframes.length; i++ ) {\n\t\t\tsource = iframes[ i ];\n\n\t\t\tif ( e.source !== source.contentWindow ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsource.removeAttribute( 'style' );\n\n\t\t\tif ( 'height' === data.message ) {\n\t\t\t\t\/* Resize the iframe on request. *\/\n\t\t\t\theight = parseInt( data.value, 10 );\n\t\t\t\tif ( height > 1000 ) {\n\t\t\t\t\theight = 1000;\n\t\t\t\t} else if ( ~~height < 200 ) {\n\t\t\t\t\theight = 200;\n\t\t\t\t}\n\n\t\t\t\tsource.height = height;\n\t\t\t} else if ( 'link' === data.message ) {\n\t\t\t\t\/* Link to a specific URL on request. *\/\n\t\t\t\tsourceURL = new URL( source.getAttribute( 'src' ) );\n\t\t\t\ttargetURL = new URL( data.value );\n\n\t\t\t\tif (\n\t\t\t\t\tallowedProtocols.test( targetURL.protocol ) &&\n\t\t\t\t\ttargetURL.host === sourceURL.host &&\n\t\t\t\t\tdocument.activeElement === source\n\t\t\t\t) {\n\t\t\t\t\twindow.top.location.href = data.value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tfunction onLoad() {\n\t\tvar iframes = document.querySelectorAll( 'iframe.wp-embedded-content' ),\n\t\t\ti, source, secret;\n\n\t\tfor ( i = 0; i < iframes.length; i++ ) {\n\t\t\t\/** @var {IframeElement} *\/\n\t\t\tsource = iframes[ i ];\n\n\t\t\tsecret = source.getAttribute( 'data-secret' );\n\t\t\tif ( ! secret ) {\n\t\t\t\t\/* Add secret to iframe *\/\n\t\t\t\tsecret = Math.random().toString( 36 ).substring( 2, 12 );\n\t\t\t\tsource.src += '#?secret=' + secret;\n\t\t\t\tsource.setAttribute( 'data-secret', secret );\n\t\t\t}\n\n\t\t\t\/*\n\t\t\t * Let post embed window know that the parent is ready for receiving the height message, in case the iframe\n\t\t\t * loaded before wp-embed.js was loaded. When the ready message is received by the post embed window, the\n\t\t\t * window will then (re-)send the height message right away.\n\t\t\t *\/\n\t\t\tsource.contentWindow.postMessage( {\n\t\t\t\tmessage: 'ready',\n\t\t\t\tsecret: secret\n\t\t\t}, '*' );\n\t\t}\n\t}\n\n\twindow.addEventListener( 'message', window.wp.receiveEmbedMessage, false );\n\tdocument.addEventListener( 'DOMContentLoaded', onLoad, false );\n})( window, document );\n\/\/# sourceURL=https:\/\/www.horace.org\/blog\/wp-includes\/js\/wp-embed.js\n<\/script>\n","thumbnail_url":"https:\/\/www.horace.org\/blog\/wp-content\/uploads\/2020\/02\/capture-d-e-cran-2016-06-26-a-13.52.29.png","thumbnail_width":617,"thumbnail_height":468,"description":"\u81ea\u53bb\u5e74\u5341\u6708\u958b\u59cb\u6d89\u7375\u671f\u6b0a\u958b\u59cb\uff0c\u4eca\u5929\u662f\u4e00\u500b\u503c\u5f97\u8a18\u5ff5\u7684\u65e5\u5b50\uff0c\u56e0\u70ba\u7d42\u65bc\u6709\u9322\u8cfa\u4e0d\u7528\u8755\u3002\u6211\u4e00\u76f4\u4e5f\u6709\u8cb7\u80a1\u7968\uff0c\u4e0d\u904e\u8cb7\u80a1\u7968\u6709\u4e00\u500b\u554f\u984c\uff0c\u5c31\u662f\u8981\u5347\u5148\u6709\u9322\u8cfa\u3002\u81ea08\u5e74\u91d1\u878d\u6d77\u562f\uff0c\u80a1\u5e02\u5927\u725b\u5e02\u5df2\u7d93\u5341\u5e74\uff0c\u6bd4\u4ee5\u4f4f\u6240\u6709\u725b\u5e02\u9031\u671f\u90fd\u8981\u9577\uff0c\u725b\u5e02\u96d6\u597d\u4f46\u718a\u5e02\u7d42\u6709\u4e00\u5929\u6703\u4f86\u3002\u725b\u5e02\u9ad8\u4f4d\u6e05\u5009\u4fdd\u672c\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u65e2\u7136\u9810\u6e2c\u718a\u51fa\u6c92\u6ce8\u610f\uff0c\u70ba\u4ec0\u9ebc\u4e0d\u5728\u718a\u5e02\u4e0b\u884c\u4e2d\u8cfa\u591a\u4e00\u7b46\u5462\u3002\u53ea\u8981\u770b"}