2017-09-22 2 views
1

私はFirefox web-extに取り組んでいます。私は現在のウェブサイト/タブのfaviconを得ることができる方法はありますか?私はthis言及が、私は%c作品のanymore.Thisを考えていない私のmanifest.jsonを(その一部)である:ここではURLのファビコンを取得して表示する(firefox web-ext)

var addnewsite = document.querySelector('.addnewbutton'); 
var siteContainer = document.querySelector('.site-container'); 
addnewsite.addEventListener('click', addNEWsite); 

function onError(error) { 
    console.log('Error: ${error}'); 
}//generic error handler 

function addNEWsite(){ 
    siteurl(); 
    function siteurl(){ 
     browser.tabs.query({ currentWindow: true, active: true }, function (tabs) { 
      addurl(tabs[0].url); 
     }); 
    } 
    function addurl(link){ 
     var urltostore = link; 
     var gettingItem = browser.storage.local.get(urltostore); 
     gettingItem.then((result) => { 
      var objTest = Object.keys(result); 
      if(objTest.length < 1 && urltostore !== ''){ 
       storeurl(urltostore); 
      } 
     }, onError); 
    } 
} 

function storeurl(link){ 
    var storingurl = browser.storage.local.set({link}); 
    storingurl.then(() => { 
     displayurl(link); 
    }, onError); 
} 

function displayurl(link) { 
    var url = document.createElement('div'); 
    var urlDisplay = document.createElement('div'); 
    var urlPara = document.createElement('p'); 
    url.setAttribute('class','url'); 
    urlPara.textContent = link; 
    urlDisplay.appendChild(urlPara); 
    url.appendChild(urlDisplay); 
    siteContainer.appendChild(url); 
} 

です:

"permissions": [ 
    "storage", 
    "<all_urls>", 
    "tabs", 
    "activeTab" 
], 

"browser_action": { 
    "default_icon": "icons/love.ico", 
    "default_title": "Show URL and Favicon", 
    "default_popup": "popup/addsite.html" 
} 

addsite.jsファイルは次のようになります拡張子内のボタンがクリックされたときのスナップショット(picture)。あなたは現在のコードを使用してURLを取得できることがわかります。しかし、私はまた、そのURLの横にあるページのfaviconを表示したい(favIconUrlはアイコンのURLを表示します、そこから得ることができますか?誰もがこれを行うに私を助けることができますか?

答えて

0

は、ここにある:

var favicon = document.createElement('img'); 
// get the url of favicon using favIconUrl function 
favicon.src = "https://jsfiddle.net/favicon.ico"; 
document.body.appendChild(favicon); 
// you can also append it to a container if you want to 

は、このためにfiddleをチェックしてください。

faviconのURLを取得するには、末尾に/favicon.icoを追加するか、favIconUrlから取得することができます。

0

ウェブサイトのファビコンは2つの方法のいずれかで見つけることができます。

<link rel='shortcut icon' type='image/x-icon' href='/favicon.ico' /> 

href属性は、ファビコンを指す:あなたが見つけることができる<head>セクションで。これが欠落している場合、ウェブサイトのルートに/favicon.icoが常に表示されます。このためのコードを必要とする人のために

+0

あなたは私がそのようにそれを配置する必要がないところに、より正確にしてくださいでき

https://github.com/mat/besticon(彼はウェブサイトで合法指摘するように)いつでも停止することができ自由なWebサービスに依存します私はそれを必要なdivコンテナに "appendChild"することができますか? – Miraj50

0

ドメインのルートにless &以下が格納されていないという事実の解決策を作成したhttps://icons.better-idea.org/のための素晴らしい時間です。

それはそれは(今のところ私の場合は時間の100%)の作品、無料で、それができるほど単純です:

<img src='https://icons.better-idea.org/icon?url=github.com&size=80..120..200' /> 

あなたドン場合は、GitHubのレポブックマークによいでしょう「tは拍手拍手

関連する問題