๊ธฐ๋ฅ ์ ์์ฒญํ๊ฑฐ๋ ๋ฒ๊ทธ๋ฅผ๋ณด๊ณ ํ์๊ฒ ์ต๋๊น?
๊ณค์ถฉ
ํ์ฌ ํ๋์ ๋ฌด์์
๋๊น?
๋ก์ปฌ ํ์ผ์ด๋ก๋๋๋ฉด devtools ํ์ฅ์ด devtools์ ํจ๋์ ํ์ํ์ง๋ง ๋ชจ๋ ์์๊ฐ ๋๋ฝ๋ฉ๋๋ค. ์ฝ์ ๊ฒฝ๊ณ ๋๋ ์ค๋ฅ๊ฐ ์์ต๋๋ค. ์๋ฒ๋ฅผ ์ฌ์ฉํ ๋ ๋ชจ๋ ์์๊ฐ ์ ๋๋ก ํ์๋์ง๋ง์ด ๊ฒฝ์ฐ์๋ ์๋ฒ๊ฐ ํ์ํ์ง ์๋ค๊ณ ๋ฌธ์์ ๋์ ์์ต๋๋ค.
ํ์ฌ ๋์์ด ๋ฒ๊ทธ ์ธ ๊ฒฝ์ฐ ์ฌํ ๋จ๊ณ๋ฅผ ์ ๊ณตํ๊ณ ๊ฐ๋ฅํ๋ฉด ๋ฌธ์ ์ ๋ํ ์ต์ํ์ ๋ฐ๋ชจ๋ฅผ ์ ๊ณตํ์ญ์์ค. ์๋์ JSFiddle (https://jsfiddle.net/Luktwrdm/) ๋๋ CodeSandbox (https://codesandbox.io/s/new) ์์ ์ ๋ํ ๋งํฌ๋ฅผ ๋ถ์ฌ ๋ฃ์ผ์ญ์์ค.
index.html
๋ฃ์ผ์ธ์.<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello World</title>
<script src="https://unpkg.com/[email protected]/umd/react.development.js"></script>
<script src="https://unpkg.com/[email protected]/umd/react-dom.development.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
function HelloWorld() {
return React.createElement("h1", null, "Hello, world!");
}
ReactDOM.render(
React.createElement(HelloWorld, null),
document.getElementById("root")
);
</script>
</body>
</html>
index.html
์ด๊ธฐ์์๋๋ ๋์์ ๋ฌด์์
๋๊น?
Hello ์์๋ ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ํ์๋๋ฉฐ ํธ์คํธ ์ ํ์ด ์ค์ ์์ ์จ๊ฒจ์ง์ง ์์ ๊ฒฝ์ฐ Hello ๋ฐ h1์ด ๋ชจ๋ ํ์๋ฉ๋๋ค.
์ด๋ค ๋ฒ์ ์ React์ ์ด๋ค ๋ธ๋ผ์ฐ์ / OS๊ฐ์ด ๋ฌธ์ ์ ์ํฅ์ ๋ฐ์ต๋๊น?
chrome.devtools.inspectedWindow.eval
๋์ง๊ธฐ :
DOMException : '์ฐฝ'์์ 'postMessage'๋ฅผ ์คํํ์ง ๋ชปํ์ต๋๋ค. 'postMessage'ํธ์ถ์์ ์ ํจํ์ง ์์ ๋์ ์๋ณธ 'null'.
# 16900์ผ๋ก ์ธํ ํ๊ท์ฒ๋ผ ๋ณด์ ๋๋ค. ํด๋น ์ปค๋ฐ์ ๋ ๋๋ฆฌ๋ฉด DevTools๊ฐ ์์ ๋ฉ๋๋ค.
cc @linshunghuang
๋ค, ํ์คํ ๊ทธ ๋ณํ ๋๋ฌธ์ ๋๋ค. ๋ด ์๊ฐ ์ origin์ด ๋ก์ปฌ ํ์ผ์ ๋ํด null์ด๊ธฐ ๋๋ฌธ์ postMessage ๋์์ window.origin์์ '*'๋ก ๋ณ๊ฒฝํด์ผํ ๊น์?
์ด ๋ฌธ์ ๋ # 16953์ ํตํด ์์ ๋์์ผ๋ฉฐ ์ค๋ (4.1.3) ์์ ๋ ์ ๋ฐ์ดํธ๋ฅผ ๋ฆด๋ฆฌ์ค ํ ๊ฒ์ ๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
chrome.devtools.inspectedWindow.eval
๋์ง๊ธฐ :# 16900์ผ๋ก ์ธํ ํ๊ท์ฒ๋ผ ๋ณด์ ๋๋ค. ํด๋น ์ปค๋ฐ์ ๋ ๋๋ฆฌ๋ฉด DevTools๊ฐ ์์ ๋ฉ๋๋ค.
cc @linshunghuang