1. popup.html
- getUrl 버튼을 누르면 URL을 불러오도록 동작
- result 자리에 불러온 URL이 담기도록할 것
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>My Chrome Extension</title>
<link rel="stylesheet" href="" />
</head>
<body>
<div id="result">ex</div>
<button id="getUrl">getURL</button>
<script src="popup.js"></script>
</body>
</html>
2. manifest.json
1) permissions에 유의하기
- 참고한 레퍼에서는 permissions에 <all_urls> 사용하여 모든 URL을 참조할 수 있도록 함
- Permissions is unknown or URL pattern is malformed 오류 발생
- Manifest version3에서는 사용할 수 없는 방법이라고 함
- host_permissions을 추가하여 오류 해결
{
"manifest_version": 3,
"name": "Chrome Extension",
"version": "0.1.0",
"description": "Bringko Chrome Extension for zendesk",
"icons": {
"32": "icons/icon_32.png"
},
"background": {
"service_worker": "background.js",
"icon": "icon-34.png"
},
"action": {
"default_title": "Chrome Extension",
"default_popup": "popup.html"
},
"host_permissions": [
"https://*/*"
],
"permissions": [
"storage",
"activeTab",
"tabs"
]
}
Chrome Extensions: Migrating to Manifest V3 - Chrome Developers
A high-level guide to how you can migrate your Manifest V2 extensions to Manifest V3.
developer.chrome.com
[chrome extension] 현재 탭으로부터 링크를 얻어오자
확장 프로그램을 통해 현재 열려있는 탭으로 부터 링크를 얻어오는 방법에 대해 기술하려고 한다. 우선 확...
blog.naver.com
3. popup.js
// 현재 윈도우 화면에서 URL 정보를 얻어오는 함수
function getTabUrl(callback) {
var queryInfo = {
active : true,
currentWindow : true
};
chrome.tabs.query(queryInfo, function(tabs) {
var tab = tabs[0];
var url = tab.url;
callback(url);
});
}
// result div에 URL 값을 뿌려주는 함수
function renderUrl(statusText) {
document.getElementById('result').textContent = statusText;
}
// 클릭 이벤트가 발생했을 경우 getTabUrl와 renderUrl 함수를 사용해
// 확장 프로그램 상에 URL Road
document.addEventListener('DOMContentLoaded', function() {
var link = document.getElementById('getUrl');
link.addEventListener('click', function() {
getTabUrl(function(url) {
renderUrl(url);
});
});
});
4. 결과