Chrome extension: Insert fixed div as UI

后端 未结 1 1270
别那么骄傲
别那么骄傲 2021-02-08 02:06

I want to insert a div into a fixed position using a chrome extension. It will overlay the page that you are currently viewing. My concern is that I want this to work on any pag

相关标签:
1条回答
  • 2021-02-08 02:29

    Manipulating content from background.js is a very bad idea. Why don't you use content script?

    manifest.json

    {
        "name":"poop",
        "version":"0.1",
        "manifest_version":2,
        "description":"shitty app I'm making",
        "background":{
            "scripts":[
                "scripts/modernizr.min.js", 
                "scripts/background.js"
                ],
            "persistent": false
        },
        "content_scripts": [
          {
            "matches": ["https://*/*", "http://*/*"],
            "js": ["content.js"],
            "run_at": "document_end"
          }
        ],
        "permissions":[
            "contextMenus", 
            "tabs",
            "http://*/*",
            "https://*/*"
            ],
        "icons":{
            "16":"images/icon_16.png",
            "128":"images/icon_128.png"
        }
    }
    

    content.js

    document.documentElement.style.height = '100%';
    document.body.style.height = '100%';
    document.documentElement.style.width = '100%';
    document.body.style.width = '100%';
    
    var div = document.createElement( 'div' );
    var btnForm = document.createElement( 'form' );
    var btn = document.createElement( 'input' );
    
    //append all elements
    document.body.appendChild( div );
    div.appendChild( btnForm );
    btnForm.appendChild( btn );
    //set attributes for div
    div.id = 'myDivId';
    div.style.position = 'fixed';
    div.style.top = '50%';
    div.style.left = '50%';
    div.style.width = '100%';   
    div.style.height = '100%';
    div.style.backgroundColor = 'red';
    
    //set attributes for btnForm
    btnForm.action = '';
    
    //set attributes for btn
    //"btn.removeAttribute( 'style' );
    btn.type = 'button';
    btn.value = 'hello';
    btn.style.position = 'absolute';
    btn.style.top = '50%';
    btn.style.left = '50%';
    
    0 讨论(0)
提交回复
热议问题