iframe重定向

时间:2011-02-24 12:53:59

标签: javascript iframe google-chrome google-chrome-extension chromium

我目前在使用iframe时遇到了一些问题。

我有一个带有搜索框的iframe,当我点击go时,我想让这个搜索框重定向...但没有任何作用,我无法理解我必须做什么...

http://img51.imageshack.us/i/issuec.png/

编辑:24/02/2011 所以要清楚,我的谷歌浏览器扩展调用作为内容脚本:overlay.js然后这个将在当前页面的末尾放置我的“overlay.html”页面。

所以问题来自于我的.html被表示为iframe而我看不出我如何从这个iframe重定向

overlay.html

<form id="searchForm" action="#" onsubmit="searchBoxRedirection(this)" method="post">
<img id="logo" src="images/extension.png" alt="Logo"></img>
<input type="search" value="" name="searching">
<input type="submit" value="Go !" /> 
</form>

overlay.js中

var overlay= {
    init: function() {
        this.injectoverlay();
        //alert('Initialisation reussie');
    },

    injectoverlay: function() {
        var body = $('body'),
            overlayURL = chrome.extension.getURL("overlay.html"),
            iframe = $('<iframe id="YouroverlayFrame" src="'+overlayURL+'">');

            body.append(iframe);
            iframe.show();

        //alert('Injection reussie');
    }
}

Tool.js

function searchBoxRedirection(form)
{
    //alert(form.searching.value);
    //tabs.create({url:"www.yahoo.fr"});
    //parent.chrome.tabs.create({url: "http://blackweb20.com/"});
    //parent.location.href='www.yahoo.fr';
    //chrome.tabs.update({url:"http://www.siteduzero.com",selected:true});

    //chrome.windows.create({url:"http://www.siteduzero.com"});
}

的manifest.json

{   

    "background_page" : "background.html",
    "browser_action" :
    {
        "default_icon" : "images/Extension.png"
    },
    "content_scripts": 
    [ {
      "all_frames": true,
      "css": ["css/overlay.css"],
      "js": ["js/overlay.js"],
      "matches": ["http://*/*"],
      "run_at": "document_start"
    } ], 
    "permissions" : ["tabs", "unlimitedStorage", "http://*/*"], 
    "name" : "MyOverlay",
    "version" : "1.1",
    "description" : "Sindar Overlay"
}

更新

我找到了答案的一部分:

function searchBoxRedirection(form)
{
    window.top.location.href = "http://search.yahoo.com/search?p=" + form.searching.value;
}

但是对于新标签的创建或新窗口,它不起作用......

1 个答案:

答案 0 :(得分:1)

这个问题是完全重复(逐字逐句): Create a new chrome tab/window from a Iframe

总而言之,您有两种选择:

  • 使用Messaging重定向页面。
  • 在iframe中调用“parent”进行重定向。