<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>&#x54F2;&#x5B50;&#x6232; Philosophist&#x2019;s Camp</provider_name><provider_url>https://www.horace.org/blog</provider_url><author_name>hevangel</author_name><author_url>https://www.horace.org/blog/author/hevangel-2/</author_url><title>&#x6B63;&#x89E3;&#x7684;&#x5361;&#x591A; - &#x54F2;&#x5B50;&#x6232; Philosophist&#x2019;s Camp</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="8OEPgAIzlR"&gt;&lt;a href="https://www.horace.org/blog/2019/05/07/%e6%ad%a3%e8%a7%a3%e7%9a%84%e5%8d%a1%e5%a4%9a/"&gt;&#x6B63;&#x89E3;&#x7684;&#x5361;&#x591A;&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://www.horace.org/blog/2019/05/07/%e6%ad%a3%e8%a7%a3%e7%9a%84%e5%8d%a1%e5%a4%9a/embed/#?secret=8OEPgAIzlR" width="600" height="338" title="&#x201C;&#x6B63;&#x89E3;&#x7684;&#x5361;&#x591A;&#x201D; &#x2014; &#x54F2;&#x5B50;&#x6232; Philosophist&#x2019;s Camp" data-secret="8OEPgAIzlR" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/**
 * WordPress inline HTML embed
 *
 * @since 4.4.0
 * @output wp-includes/js/wp-embed.js
 *
 * Single line comments should not be used since they will break
 * the script when inlined in get_post_embed_html(), specifically
 * when the comments are not stripped out due to SCRIPT_DEBUG
 * being turned on.
 */
(function ( window, document ) {
	'use strict';

	/* Abort for ancient browsers. */
	if ( ! document.querySelector || ! window.addEventListener || typeof URL === 'undefined' ) {
		return;
	}

	/** @namespace wp */
	window.wp = window.wp || {};

	/* Abort if script was already executed. */
	if ( !! window.wp.receiveEmbedMessage ) {
		return;
	}

	/**
	 * Receive embed message.
	 *
	 * @param {MessageEvent} e
	 */
	window.wp.receiveEmbedMessage = function( e ) {
		var data = e.data;

		/* Verify shape of message. */
		if (
			! ( data || data.secret || data.message || data.value ) ||
			/[^a-zA-Z0-9]/.test( data.secret )
		) {
			return;
		}

		var iframes = document.querySelectorAll( 'iframe[data-secret="' + data.secret + '"]' ),
			blockquotes = document.querySelectorAll( 'blockquote[data-secret="' + data.secret + '"]' ),
			allowedProtocols = new RegExp( '^https?:$', 'i' ),
			i, source, height, sourceURL, targetURL;

		for ( i = 0; i &lt; blockquotes.length; i++ ) {
			blockquotes[ i ].style.display = 'none';
		}

		for ( i = 0; i &lt; iframes.length; i++ ) {
			source = iframes[ i ];

			if ( e.source !== source.contentWindow ) {
				continue;
			}

			source.removeAttribute( 'style' );

			if ( 'height' === data.message ) {
				/* Resize the iframe on request. */
				height = parseInt( data.value, 10 );
				if ( height &gt; 1000 ) {
					height = 1000;
				} else if ( ~~height &lt; 200 ) {
					height = 200;
				}

				source.height = height;
			} else if ( 'link' === data.message ) {
				/* Link to a specific URL on request. */
				sourceURL = new URL( source.getAttribute( 'src' ) );
				targetURL = new URL( data.value );

				if (
					allowedProtocols.test( targetURL.protocol ) &amp;&amp;
					targetURL.host === sourceURL.host &amp;&amp;
					document.activeElement === source
				) {
					window.top.location.href = data.value;
				}
			}
		}
	};

	function onLoad() {
		var iframes = document.querySelectorAll( 'iframe.wp-embedded-content' ),
			i, source, secret;

		for ( i = 0; i &lt; iframes.length; i++ ) {
			/** @var {IframeElement} */
			source = iframes[ i ];

			secret = source.getAttribute( 'data-secret' );
			if ( ! secret ) {
				/* Add secret to iframe */
				secret = Math.random().toString( 36 ).substring( 2, 12 );
				source.src += '#?secret=' + secret;
				source.setAttribute( 'data-secret', secret );
			}

			/*
			 * Let post embed window know that the parent is ready for receiving the height message, in case the iframe
			 * loaded before wp-embed.js was loaded. When the ready message is received by the post embed window, the
			 * window will then (re-)send the height message right away.
			 */
			source.contentWindow.postMessage( {
				message: 'ready',
				secret: secret
			}, '*' );
		}
	}

	window.addEventListener( 'message', window.wp.receiveEmbedMessage, false );
	document.addEventListener( 'DOMContentLoaded', onLoad, false );
})( window, document );
//# sourceURL=https://www.horace.org/blog/wp-includes/js/wp-embed.js
&lt;/script&gt;
</html><thumbnail_url>https://i0.wp.com/www.horace.org/blog/wp-content/uploads/2019/05/C7nG6y5VAAE6RPm.jpg?fit=853%2C1200&amp;ssl=1</thumbnail_url><thumbnail_width>853</thumbnail_width><thumbnail_height>1200</thumbnail_height><description>&#x300A;&#x6B63;&#x89E3;&#x7684;&#x5361;&#x591A;&#x300B;&#x67D0;&#x7A0B;&#x5EA6;&#x4E0A;&#x662F;&#x4E00;&#x5957;&#x300C;&#x795E;&#x300D;&#x4F5C;&#xFF0C;&#x6771;&#x6620;&#x9996;&#x6B21;&#x63A1;&#x7528;&#x5168;CG&#x7E6A;&#x88FD;&#x52D5;&#x756B;&#xFF0C;&#x4E0D;&#x8AD6;&#x662F;&#x4EBA;&#x7269;&#x9084;&#x662F;&#x80CC;&#x666F;&#x5F88;&#x7CBE;&#x7F8E;&#xFF0C;CG&#x4EBA;&#x7269;&#x6280;&#x8853;&#x8D8A;&#x4F86;&#x8D8A;&#x6210;&#x719F;&#xFF0C;&#x6C92;&#x6709;&#x4EE5;&#x5F80;&#x9762;&#x76F8;&#x751F;&#x786C;&#x7684;&#x6BDB;&#x75C5;&#x3002;&#x300A;&#x7FE0;&#x661F;&#x300B;&#x5C0E;&#x6F14;&#x914D;&#x300A;&#x6A02;&#x5712;&#x8FFD;&#x653E;&#x300B;&#x76E3;&#x88FD;&#xFF0C;&#x6545;&#x4E8B;&#x662F;&#x6B63;&#x7D93;&#x56B4;&#x8085;&#x79D1;&#x5E7B;&#x984C;&#x6750;&#xFF0C;&#x55AE;&#x770B;&#x724C;&#x9762;&#x5DF2;&#x7D93;&#x975E;&#x5E38;&#x5438;&#x5F15;&#x3002;&#x52A0;&#x4E0A;&#x6558;&#x4E8B;&#x624B;&#x6CD5;&#x4E00;&#x6D41;&#x7684;&#x7B2C;0&#x8A71;&#xFF0C;&#x7528;&#x4E00;&#x500B;&#x6536;&#x8CFC;&#x820A;&#x5DE5;&#x5EE0;&#x7684;&#x5C0F;&#x6545;&#x4E8B;&#xFF0C;&#x4ECB;&#x7D39;&#x4E3B;&#x89D2;&#x738B;&#x724C;&#x8AC7;&#x5224;&#x5C08;&#x5BB6;&#x51FA;&#x5834;&#xFF0C;&#x517C;&#x8AAA;&#x660E;&#x8AC7;&#x5224;&#x8981;&#x96D9;&#x8D0F;</description></oembed>
