新しいタブと新しいウェブサイトをクロームで追加して開きます。前のタブのURLを新しいURLにコピーする必要がありますが、動作させることができません。クロムエクステンションで前のタブから変数を取得
これを行う最善の方法は何ですか?私はクリップボードを使用して探していたが、javascriptでは動作しません。変数を新しいタブに渡すにはどうすればよいですか?
EDIT 1
popup.html
<html>
<head>
<title>Youtube Downloader</title>
<link rel="stylesheet" href="css/style.css">
<script src="scripts/background.js"></script>
</head>
<body>
<input id="download_button" type="button" value="Download MP3"/>
<br>
<span id="validation_span"></span>
</body>
</html>
MANIFEST
{
"manifest_version": 2,
"name":"Youtube Downloader",
"description":"Voor het downloaden van de Youtube muziek",
"version": "1",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"tabs"
,"http://www.youtube-mp3.org/*"
],
"content_scripts" : [{
"matches" : [ "http://www.youtube-mp3.org/*"]
,"js" : ["scripts/youtube-mp3.js"]
}]
}
Background.js
addEventListener("load", init, false);
//GLOBAL VARIABLES
var succes = 0;
var validation_span;
var button;
function init(event) {
button = document.getElementById("download_button");
button.addEventListener("click", getUrl, false);
}
function getUrl(event){
chrome.tabs.getSelected(null, function(tab){
maakLayout(event, tab.url);
});
}
function maakLayout(event, url) {
//Layout van de nieuwe View
validation_span = document.getElementById("validation_span");
var body = document.getElementsByTagName("body")[0];
body.style.width = "300px";
var br = document.getElementsByTagName("br")[0];
br.remove();
button.remove();
var result = urlValidation(url);
if(succes == 1){
validation_span.style.color = "green";
result = url;
chrome.tabs.create({"url": "http://www.youtube-mp3.org/nl"}, function(newTab){
});
}
if (succes == 0){
validation_span.style.color = "red";
}
validation_span.innerHTML = result;
}
function urlValidation(url){
if(url.indexOf('www.youtube.com/watch?v=') >= 0){
succes = 1;
return "Url is OK";
}else{
succes = 0;
return "Only Youtube links allowed";
}
}
youtub-mp3。 JS
chrome.extension.onMessage.addListener(function(msg, sender, sendResponse) {
alert("Binne");
if (msg.action == 'url') {
alert("Message recieved!");
var copy = msg;
var inputfield = document.getElementById("youtube-url");
inputfield.value = copy;
}
});
あなたがこれまで持っているコードを共有することはできますか? – dan
チェックEDIT 1これは私のアプリケーション全体 –
前のタブを言っているとき、左のタブか前のセッション/履歴を意味しますか? –