{"id":234,"date":"2014-07-23T05:43:41","date_gmt":"2014-07-23T14:43:41","guid":{"rendered":"http:\/\/blog.box.kr\/?p=234"},"modified":"2014-07-23T05:43:41","modified_gmt":"2014-07-23T14:43:41","slug":"using-the-webbrowser-control-from-cc","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=234","title":{"rendered":"Using the WebBrowser Control from C\/C++"},"content":{"rendered":"<h2 style=\"color: #000000;\"><a name=\"WebBrowser_0415000303000000\"><\/a>Using the WebBrowser Control from C\/C++<\/h2>\n<p>&nbsp;<\/p>\n<p style=\"color: #000000;\">This section describes some of the common implementations of the WebBrowser control, including:<\/p>\n<ul style=\"color: #000000;\">\n<li><a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0415.htm#WebBrowser_0415000303010000\" target=\"TEXT\">Adding Internet browsing functionality to your application<\/a><\/li>\n<li><a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0415.htm#WebBrowser_0415000303020000\" target=\"TEXT\">Printing Web pages with the WebBrowser control<\/a><\/li>\n<li><a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0415.htm#WebBrowser_0415000303030000\" target=\"TEXT\">Changing fonts with the WebBrowser control<\/a><\/li>\n<li><a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0415.htm#WebBrowser_0415000303040000\" target=\"TEXT\">Working with WebBrowser events<\/a><\/li>\n<\/ul>\n<h3 style=\"color: #000000;\"><a name=\"WebBrowser_0415000303010000\"><\/a>Adding Internet Browsing Functionality to Your Application<\/h3>\n<p style=\"color: #000000;\">One of the most common uses for the WebBrowser control is to add Internet browsing functionality to your application. Using the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0419.htm#WebBrowser_0415000305010100\" target=\"TEXT\">IWebBrowser2<\/a>\u00a0interface, you can browse to any location in the local file system, on the network, or on the World Wide Web. You can use the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0419.htm#WebBrowser_0415000305010900\" target=\"TEXT\">Navigate<\/a>method to tell the control which location to browse to. The first parameter is a string that contains the name of the location. To browse to a location in the local file system or on the network, specify the full path to the file system location or the Universal Naming Convention (UNC) name of the location on the network. To browse to a site on the World Wide Web, specify the URL of the site. By including a text box in your application, you can let the user specify the location to browse to and then pass the location to the\u00a0<b>Navigate<\/b>\u00a0method.<\/p>\n<p style=\"color: #000000;\">In this example, the WebBrowser control was inserted into a basic Microsoft Foundation Class Library (MFC) application. A class was added to the project, and the control was dynamically created in the OnCreate handler of the application&#8217;s View class.<\/p>\n<pre style=\"color: #000000;\"><span style=\"font-family: Courier; font-size: small;\">CRect rect;\nGetClientRect (&amp;rect);\n\n\/\/ Create the control.\nm_pBrowser = new CWebBrowser;\nASSERT (m_pBrowser);\nif (!m_pBrowser-&gt;Create(NULL,NULL,WS_VISIBLE,rect,this,NULL))\n{\n    TRACE(\"failed to create browsern\");\n    delete m_pBrowser;\n    m_pBrowser = NULL;\n    return 0;\n}\n\n\/\/ Initialize the first URL.\nCOleVariant noArg;\nm_pBrowser-&gt;Navigate(\"www.microsoft.com\",&amp;noArg,&amp;noArg,&amp;noArg,&amp;noArg);\nreturn 0;\n<\/span><\/pre>\n<p style=\"color: #000000;\">In addition, the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0419.htm#WebBrowser_0415000305010900\" target=\"TEXT\">Navigate<\/a>\u00a0method allows you to target a specific frame on an HTML page, causing the WebBrowser control to display a Web site or file system location in that frame. First, you would call the\u00a0<b>Navigate<\/b>\u00a0method and specify the URL of an HTML page that contains a frame. Then, by specifying the name of the frame in subsequent calls to\u00a0<b>Navigate<\/b>, you can direct the control to display subsequent locations within that frame.<\/p>\n<p style=\"color: #000000;\">You can also use the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0420.htm#WebBrowser_0415000305011c00\" target=\"TEXT\">get_LocationName<\/a>\u00a0and\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0420.htm#WebBrowser_0415000305011d00\" target=\"TEXT\">get_LocationURL<\/a>\u00a0methods to retrieve information about the location that the WebBrowser control is currently displaying. If the location is an HTML page on the World Wide Web,\u00a0<b>get_LocationName<\/b>\u00a0retrieves the title of that page, and<b>get_LocationURL<\/b>\u00a0retrieves the URL of that page. If the location is a folder or file on the network or local computer,\u00a0<b>get_LocationName<\/b>\u00a0and\u00a0<b>get_LocationURL<\/b>\u00a0both retrieve the UNC or full path of the folder or file.<\/p>\n<h3 style=\"color: #000000;\"><a name=\"WebBrowser_0415000303020000\"><\/a>Printing Pages with the WebBrowser Control<\/h3>\n<p style=\"color: #000000;\">Although the WebBrowser control does not support a print method, you can print its contents using one of the following methods:<\/p>\n<ul style=\"color: #000000;\">\n<li>Set the focus to the WebBrowser control and send a key combination of\u00a0<small>CTRL+P<\/small>.<\/li>\n<li>Call the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0419.htm#WebBrowser_0415000305011600\" target=\"TEXT\">get_Document<\/a>\u00a0method, which returns an\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0415.htm#\">IDispatch<\/a>\u00a0pointer. Using this\u00a0<b>IDispatch<\/b>\u00a0pointer, call\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0415.htm#\">QueryInterface<\/a>\u00a0on IID_IOleCommandTarget. With the object pointer returned, call\u00a0<b>Exec<\/b>\u00a0(NULL, OLECMDID_PRINT, 0, NULL, NULL).\n<pre><span style=\"font-family: Courier; font-size: small;\">LPDISPATCH lpDispatch = NULL;\nLPOLECOMMANDTARGET lpOleCommandTarget = NULL;\n\nlpDispatch = m_pBrowser.get_Document();\nASSERT(lpDispatch);\n\nlpDispatch-&gt;QueryInterface(IID_IOleCommandTarget, (void**)&amp;lpOleCommandTarget);\nASSERT(lpOleCommandTarget);\n\nlpDispatch-&gt;Release();\n\n\/\/ Print contents of WebBrowser control.\nlpOleCommandTarget-&gt;Exec(NULL, OLECMDID_PRINT, 0, NULL,NULL);\nlpOleCommandTarget-&gt;Release();\n<\/span><\/pre>\n<\/li>\n<\/ul>\n<h3 style=\"color: #000000;\"><a name=\"WebBrowser_0415000303030000\"><\/a>Changing Fonts with the WebBrowser Control<\/h3>\n<p style=\"color: #000000;\">The WebBrowser automation model does not support a method that allows you to change the font of the text of the currently displayed page. However, the WebBrowser control exposes this functionality through the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0415.htm#\">IOleCommandTarget<\/a>\u00a0interface. Call the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0419.htm#WebBrowser_0415000305011600\" target=\"TEXT\">get_Document<\/a>\u00a0method, which returns an\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0415.htm#\">IDispatch<\/a>\u00a0pointer. Using this\u00a0<b>IDispatch<\/b>\u00a0pointer, call\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0415.htm#\">QueryInterface<\/a>\u00a0on IID_IOleCommandTarget. With this\u00a0<b>IOleCommandTarget<\/b>\u00a0interface pointer, call\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0415.htm#\">Exec<\/a>\u00a0with OLECMDID_ZOOM and use the\u00a0<i>pvaIn<\/i>\u00a0input argument to pass a value in the range of 0 to 5 (where 0 is smallest) indicating the desired scale of the font. This, in effect, mimics the functionality available through the Internet Explorer Fonts command on the View menu.<\/p>\n<pre style=\"color: #000000;\"><span style=\"font-family: Courier; font-size: small;\">LPDISPATCH pDisp = NULL;\nLPOLECOMMANDTARGET pCmdTarg = NULL;\n\npDisp = m_pBrowser.get_Document();\nASSERT(pDisp);\n\npDisp-&gt;QueryInterface(IID_IOleCommandTarget, (LPVOID*)&amp;pCmdTarg);\nASSERT(pCmdTarg);\n\nVARIANT vaZoomFactor;   \/\/ input arguments\nVariantInit(&amp;vaZoomFactor);\nV_VT(&amp;vaZoomFactor) = VT_I4;\nV_I4(&amp;vaZoomFactor) = fontSize;\n\npCmdTarg-&gt;Exec(NULL,\n\t\tOLECMDID_ZOOM,\n\t\tOLECMDEXECOPT_DONTPROMPTUSER,\n\t\t&amp;vaZoomFactor,\n\t\tNULL);\nVariantClear(&amp;vaZoomFactor);\n\nif (pCmdTarg)\n   pCmdTarg-&gt;Release(); \/\/ release document's command target\nif (pDisp)\n   pDisp-&gt;Release();    \/\/ release document's dispatch interface\n<\/span><\/pre>\n<h3 style=\"color: #000000;\"><a name=\"WebBrowser_0415000303040000\"><\/a>Working with WebBrowser Events<\/h3>\n<p style=\"color: #000000;\">The WebBrowser control fires a number of different events to notify an application of user- and browser-generated activity. The events are implemented using the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0420.htm#WebBrowser_0415000305020100\" target=\"TEXT\">DWebBrowserEvents2<\/a>\u00a0interface. When the control is about to navigate to a new location, it fires a\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0420.htm#WebBrowser_0415000305020200\" target=\"TEXT\">BeforeNavigate2<\/a>event that specifies the URL or path of the new location and any other data that will be transmitted to the Internet server through the HTTP transaction. The data can include the HTTP header, HTTP post data, and the URL of the referrer.\u00a0<b>BeforeNavigate2<\/b>\u00a0also includes a cancel flag that you can set to FALSE to cancel the navigation. The WebBrowser control fires the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0420.htm#WebBrowser_0415000305020700\" target=\"TEXT\">NavigateComplete2<\/a>\u00a0event after it has navigated to a new location. This event includes the same information as\u00a0<b>BeforeNavigate2<\/b>, but\u00a0<b>NavigateComplete2<\/b>\u00a0does not include the cancel flag.<\/p>\n<p style=\"color: #000000;\">When the WebBrowser control is about to begin a download operation, it fires the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0420.htm#WebBrowser_0415000305020500\" target=\"TEXT\">DownloadBegin<\/a>\u00a0event. The control fires a number of\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0420.htm#WebBrowser_0415000305021000\" target=\"TEXT\">ProgressChange<\/a>\u00a0events as the operation progresses, and then it fires the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0420.htm#WebBrowser_0415000305020600\" target=\"TEXT\">DownloadComplete<\/a>\u00a0event after completing the operation. Applications typically use these three events to indicate the progress of the download operation, often by displaying a progress bar. An application would show the progress bar in response to\u00a0<b>DownloadBegin<\/b>, update the progress bar in response to\u00a0<b>ProgressChange<\/b>, and hide it in response to<b>DownloadComplete<\/b>.<\/p>\n<p style=\"color: #000000;\">When an application calls the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0419.htm#WebBrowser_0415000305010900\" target=\"TEXT\">Navigate<\/a>\u00a0method with the\u00a0<i>Flags<\/i>\u00a0parameter set to navOpenInNewWindow, the WebBrowser control fires the\u00a0<a href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/inet0420.htm#WebBrowser_0415000305020800\" target=\"TEXT\">NewWindow2<\/a>\u00a0event before navigating to the new location. The event includes information about the new location and a flag that indicates whether the application or the control is to create the new window. Set this flag to TRUE if your application will create the window or to FALSE if the WebBrowser control should create it.<\/p>\n<p style=\"color: #000000;\">You will need to implement an event sink to capture and handle the various events. The Internet Client SDK includes a generic event sink class called EVTSINK. For more information, refer to the SamplesBaseCtlObjvw subdirectory within your SDK.<\/p>\n<p style=\"color: #000000;\">\n<p style=\"color: #000000;\"><span style=\"color: black; font-family: 'MS SANS SERIF'; font-size: xx-small;\"><a class=\"cpslug\" style=\"color: blue;\" href=\"http:\/\/dcs.isa.ru\/www\/vladimirv\/inetsdk\/legal.htm\" target=\"TEXT\">\u00a9 1997 Microsoft Corporation. All rights reserved. Terms of Use.<\/a>\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Using the WebBrowser Control from C\/C++ &nbsp; This section describes some of the common implementations of the WebBrowser control, including: Adding Internet browsing functionality to your application Printing Web pages with the WebBrowser control Changing fonts with the WebBrowser control Working with WebBrowser events Adding Internet Browsing Functionality to Your Application One of the most common uses for the WebBrowser control is to add Internet browsing functionality to your application. Using the\u00a0IWebBrowser2\u00a0interface, you can browse to any location in the local file system, on the network, or on the World Wide Web. You can use the\u00a0Navigatemethod to tell the control which location to browse to. The first parameter is a string that contains the name of the location. To browse to a location in the local file system or on the network, specify the full path to the file system location or the Universal Naming Convention (UNC) name of the location on the network. To browse to a site on the World Wide Web, specify the URL of the site. By including a text box in your application, you can let the user specify the location to browse to and then pass the location to the\u00a0Navigate\u00a0method. In this example, the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"ngg_post_thumbnail":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[9,19,7],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-3M","jetpack-related-posts":[{"id":224,"url":"https:\/\/blog.box.kr\/?p=224","url_meta":{"origin":234,"position":0},"title":"Handling HTML Element Events","date":"2014-07-23","format":false,"excerpt":"http:\/\/msdn.microsoft.com\/en-us\/library\/bb508508(v=vs.85).aspx Handling HTML Element Events 9 out of 10 rated this helpful\u00a0-\u00a0Rate this topic The\u00a0HTMLElementEvents2\u00a0interface is an event sink interface that enables an application to receive events for HTML elements. Your custom application can receive these events, which are fired in response to user actions on HTML elements, when hosting\u2026","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":355,"url":"https:\/\/blog.box.kr\/?p=355","url_meta":{"origin":234,"position":1},"title":"MFC WebBrowser Control\uc5d0\uc11c script\ub85c \ucc3d \ub2eb\uc744\ub54c \uba54\uc2dc\uc9c0 \ucc3d \uc548\ubcf4\uc774\uac8c..","date":"2014-08-21","format":false,"excerpt":"\u00a0 BEGIN_EVENTSINK_MAP(WebViewDlg, CDialogEx) \/\/ ON_EVENT(WebViewDlg, IDC_EXPLORER, 253, WebViewDlg::OnQuitExplorer, VTS_NONE) ON_EVENT(WebViewDlg, IDC_EXPLORER, 263, WebViewDlg::WindowClosingExplorer, VTS_BOOL VTS_PBOOL) END_EVENTSINK_MAP() \u00a0 \u00a0 void WebViewDlg::WindowClosingExplorer(BOOL IsChildWindow, BOOL* Cancel) { *Cancel = TRUE; \u00a0 \/\/ <<- \uc774\uac78 \ud574\uc918\uc57c\uc9c0 \ucc3d\uc744 \ub2eb\uaca0\ub0d0\ub294 \uba54\uc2dc\uc9c0 \uc5c6\uc774 \ucc3d\uc774 \ub2eb\uae40.. CDialogEx::OnOK(); } \u00a0 \u00a0","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":248,"url":"https:\/\/blog.box.kr\/?p=248","url_meta":{"origin":234,"position":2},"title":"[\uac1c\ubc1c\/VC++] WebBrowser Control \uc774\ubca4\ud2b8 \uc5f0\uacb0 &#8211; C++","date":"2014-07-23","format":false,"excerpt":"IT\/\uac1c\ubc1c\u00a02011\/02\/10 12:12 [\uac1c\ubc1c\/VC++] WebBrowser Control \uc774\ubca4\ud2b8 \uc5f0\uacb0 - C++ WebBrowser Control IDispatch IWebBrowser2 .ReadyState READYSTATE_COMPLETE .Navigate2() .get_Document() \/\/ IDispatch -> IHTMLDocument2 .get_StatusText() on DownloadBegin on DocumentComplete on DownloadComplete IOleObject \u00a0 IHTMLWindow2 IHTMLDocument2 .get_all() .get_parentWindow() \/\/ IHTMLWindow2 IHTMLElementCollection .item() .tags \/\/ IHTMLElementCollection IHTMLElement a connectable object IConnectionPointContainer .FindConnectionPoint() \/\/ DHTMLElementEvents2 DHTMLElementEvents2\u2026","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":206,"url":"https:\/\/blog.box.kr\/?p=206","url_meta":{"origin":234,"position":3},"title":"Web Browser \ucee8\ud2b8\ub864","date":"2014-07-16","format":false,"excerpt":"Web Browser Control FAQ \u00a0 \ub2e4\uc74c\uc758\u00a0FAQ(FAQ\ub77c\uace0 \ud558\uae30\ub3c4 \ubb50 \ud569\ub2c8\ub2e4\ub9cc.. )\ub294 \uc81c\uac00\u00a0VC++ Q&A\u00a0\uc5d0\uc11c \uadf8 \ub3d9\uc548 \ubd10\uc654\ub358\u00a0Web Browser\u00a0\ucee8\ud2b8\ub864\uacfc \uad00\ub828 \uc9c8\ubb38\ub4e4\uc5d0 \ub300\ud55c \ub2f5 \uae00\uacfc\u00a0KB, MSDN\u00a0\ub9c1\ud06c \ubaa8\uc74c \ub4e4 \uc785\ub2c8\ub2e4.\u00a0 \uadf8 \ub3d9\uc548 \uc9d1 \ucef4\ud4e8\ud130\uc5d0 \uc815\ub9ac\ub9cc \ud574 \ub193\uace0 \ud544\uc694\ud560 \ub54c \uc885\uc885 \ucc38\uace0 \ud588\uc5c8\ub294\ub370 \uc5bc\ub9c8 \uc804 \ub178\ud2b8\ubd81 \ud558\ub4dc\uac00 \uc0ac\ub9dd \ud558\uc2e0 \ud6c4\uc5d0 \ubcf5\uad6c\ud55c \ub0b4\uc6a9\uc744 \ud301 \uac8c\uc2dc\ud310\uc5d0 \uc62c\ub9ac\ub294\uac8c \ub0ab\uaca0\ub2e4\uace0\u2026","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":200,"url":"https:\/\/blog.box.kr\/?p=200","url_meta":{"origin":234,"position":4},"title":"\uc774\ubc88 \ud3ec\uc2a4\ud305\uc740 \ud2b9\uc815\uc0ac\uc774\ud2b8\uc758 HTML \ud0dc\uadf8\ub97c\u2026","date":"2014-07-16","format":false,"excerpt":"\uc774\ubc88 \ud3ec\uc2a4\ud305\uc740 \ud2b9\uc815\uc0ac\uc774\ud2b8\uc758 HTML \ud0dc\uadf8\ub97c \uac00\uc838\uc640\uc11c \ucd9c\ub825\ud558\ub294 \uac83\uae4c\uc9c0 \ub2e4\ub8f9\ub2c8\ub2e4. \uac1c\ubc1c \ud234\uc740 Visual Studio 2012\ub97c \uc0ac\uc6a9\ud588\uc2b5\ub2c8\ub2e4. # \ud654\uba74 \uad6c\uc131 - url \uc601\uc5ed - url \uc774\ub3d9 \ubc84\ud2bc - html \uac00\uc838\uc624\uae30 \ubc84\ud2bc - webBrowser \uc601\uc5ed - \ub514\ubc84\uae451 \uc601\uc5ed - \ub514\ubc84\uae452 \uc601\uc5ed \uacb0\uacfc\ubb3c\ub294 \uac04\ub2e8\ud569\ub2c8\ub2e4. \ud574\ub2f9 URL\uc5d0 \uc774\ub3d9\ud558\uc5ec webBrowser\uc758 \ud6c4\ud0b9(?) \ucf5c\ubc31(?)\u00a0\uc815\ubcf4\ub97c \ucd9c\ub825(\ub514\ubc84\uae451)\ud558\uace0 scan\ubc84\ud2bc\uc744 \ud1b5\ud574 html\ub0b4\uc6a9\uc744\u2026","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"http:\/\/cfile23.uf.tistory.com\/image\/236391385315B70E32D9B7","width":350,"height":200},"classes":[]},{"id":186,"url":"https:\/\/blog.box.kr\/?p=186","url_meta":{"origin":234,"position":5},"title":"Using a Context Menu on a Control","date":"2014-07-09","format":false,"excerpt":"Introduction One of the primary characteristics of a control is to make its role appear obvious to the user. For example, by default, a button is used to click in order to start an action. Sometimes you may want to display a context menu. That is, if the user right-clicks,\u2026","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.functionx.com\/visualc\/dlgboxes\/addresource1.gif?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/234"}],"collection":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=234"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/234\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}