简单的Chrome扩展但问题?

时间:2013-09-29 17:55:36

标签: javascript json html5 iframe google-chrome-extension

大道!

亲爱的人..

我想扩展我的“Google自定义搜索代码”

在Extension Popup(popup.html)中显示我网站的搜索结果

我在从中进行扩展时遇到问题。

  1. 当我从本地计算机加载iframe弹出窗口显示文本但搜索对话框未显示。

  2. 当我从GoogleDrive iframe中加载iframe但是加载时需要将近3-4秒。

  3. ------------------(第3号我成功解决了) 链接没有在新标签中打开我太过分了,请帮我打开新标签中的链接? (在谷歌搜索API中有一个选项搜索功能>高级>目标链接...我把值_Blank)

  4. 非常感谢!

    代码如下。

    的manifest.json

    {
        "name": "Instant Search!",
        "description": "Search My Blog Instantly!",
    
        "version": "0.1",
       "manifest_version": 2,
        "browser_action": {
            "default_popup": "popup.html",
            "default_title": "Search My Blog"
        }
    
    }
    

    Popup.html

    <html>
    <head>
    
    </head>
        <body>
            <iframe width="400" height="400" 
                 seamless="seamless"src="/QS.html"></iframe>
        </body>
    </html>
    

    iframe页面

     <!DOCTYPE html>
      <html>
      <head>
    <style>
    .cse input.gsc-input, input.gsc-input {
    background-image:url('/blank.gif')!important;
    }
    </style> 
      </head>
    <body>
    <script>
      (function() {
        var cx = '009043611225946488903:ntz9nyqubzw';
        var gcse = document.createElement('script');
        gcse.type = 'text/javascript';
        gcse.async = true;
        gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
            '//www.google.com/cse/cse.js?cx=' + cx;
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(gcse, s);
      })();
    </script>
    <gcse:search></gcse:search>
    </body>
      </html>
    

1 个答案:

答案 0 :(得分:0)

您的HTML代码中没有脚本标记(因此document.getElementsByTagName('script')[0]不存在)

尝试:

document.body.appendChild(gcse);

而不是:

var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);