私のポップアップページには、ボタンのあるiframeタグがあります。このボタンをクリックすると、iframe のスクリプトに含まれる関数が呼び出されます。この関数には への呼び出しが含まれていますが、 「Uncaught TypeError: 未定義のメソッド 'create' を呼び出せません」というメッセージchrome.tabs.create({ url: "..."});
が表示され続けます。その理由は、ポップアップページ自体ではなく、iframe にいるためだと思います。
そのあいまいさを克服し、iframe 内から新しいタブを作成する方法はありますか?
編集
これが私のコードです。
以下がポップアップ ページの iframe に読み込まれます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style/frame_style.css" media="screen" />
<script src='jquery-1.8.3.js'></script>
<script src='scripts/frame_functions.js'></script>
</head>
<body>
<div>
<button value="Click to open Google in a new tab" class='new_tab_bt'></button>
</div>
</body>
</html>
frame_functions.js:
$(document).on("click", '.new_tab_bt', function(){
openNewTab();
});
function openNewTab()
{
chrome.tabs.create({ url: "https://www.google.com" });
}