2013-02-07 32 views
1

我正在嘗試創建一個類似於thefancy.com網站的小書籤功能,我創建了一個小書籤按鈕,點擊時加載位於其他某個網站的js文件http://wonderstreet.localhost.com和將其附加到當前文檔的頭部分,然後創建一個iframe並將其附加到當前文檔的正文中。ReferenceError:從iframe調用時沒有定義函數

上面提到的js文件包含了我需要從這個iframe調用的各種函數,例如,iframe中有一個「關閉」按鈕,點擊時應該調用位於上述js文件中的函數(此功能將關閉或刪除iframe)

iframe被創建並正確顯示(我需要獲取當前文檔的所有圖像並在iframe中顯示它) 問題是,當我點擊關閉按鈕時它說: ReferenceError:函數未定義 有人可以請幫助,讓我知道我該如何解決這個問題? [我使用核心javascript和不jquery的]

這裏是從JS文件=>

function create_bookmarklet_iframe(thewonderstreet_userid) { 
var ifra=document.createElement('iframe');ifra.src="http://localhost.com/index.php/image_picker?userid="+userid;ifra.setAttribute("id","bookmarklet_iframe");ifra.setAttribute('allowtransparency',true);ifra.setAttribute('style','width:279px;height:372px;border:1px solid #4c515c;position:fixed;top:10px;right:10px;z-index:10000001;margin:0;background-color:#eff1f7;');void(document.body.appendChild(ifra)); 

}

function remove_bookmarklet_iframe(id) { 
    var element = document.getElementById(id); 
    element.parentNode.removeChild(element); 
} 

代碼而這是書籤代碼:

javascript:%20(function%20()%20{%20%20%20%20%20userid%20=%20'724c5a0e49e4dac588a90e17233982493027197d';%20%20%20%20%20var%20search_url%20=%20'http://localhost.com/javascript/bookmarklet_js.js';%20scripts_finder%20=%20document.getElementsByTagName('script');%20var%20found_url%20=%200;%20for%20(var%20i%20=%20scripts_finder.length;%20i--;)%20{%20var%20actual_url%20=%20scripts_finder[i].src.split("?");%20if%20(search_url%20==%20actual_url[0])%20{%20found_url++;%20}%20}%20if(found_url%20<=%200)%20{%20s=document.createElement('SCRIPT');s.type='text/javascript';s.src='http://localhost.com/javascript/bookmarklet_js.js?_='+(Math.random());document.getElementsByTagName('head')[0].appendChild(s);%20}%20%20var%20s_id%20=%20'bookmarklet_iframe',%20%20%20%20%20%20%20%20%20s_avail%20=%20document.getElementById(s_id),%20%20%20%20%20%20%20%20%20can_continue%20=%20true,%20%20%20%20%20%20%20%20%20t;%20%20%20%20%20if%20(s_avail)%20{%20%20%20%20%20%20%20%20%20can_continue%20=%20false;%20%20%20%20%20%20%20%20%20alert('Alreadyopen');%20%20%20%20%20}%20%20%20%20%20setTimeout(function()%20{%20if%20(can_continue)%20{%20create_bookmarklet_iframe(userid);%20}%20},1000);%20})(); 

回答

0

好的,我自己解決了,wha我在做的是錯誤的,而不是創建一個我使用div的iframe,所以基本上我消除了iframe,通過javascript創建div並將其附加到文檔正文。