1

我正在尝试创建一个类似于 thefancy.com 网站的书签功能,我创建了一个书签按钮,单击该按钮时会加载一个位于其他网站http://wonderstreet.localhost.com上的 js 文件并将其附加到头部当前文档的部分,然后它会创建一个 iframe 并将其附加到当前文档的正文中。

上面提到的 js 文件包含我需要从这个 iframe 调用的各种函数,例如,iframe 中有一个“关闭”按钮,单击该按钮时应该调用位于上述 js 文件中的函数(此函数将关闭或删除 iframe)

iframe 被正确创建和显示。(我需要获取当前文档的所有图像并在 iframe 中显示)问题是当我单击关闭按钮时它说:ReferenceError: function is not defined 有人可以帮忙让我知道我该如何解决这个问题? [我使用的是核心 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})();
4

1 回答 1

0

好的,我自己解决了,我做错了,我没有创建 iframe,而是使用 div,所以基本上我消除了 iframe,通过 javascript 创建 div 并将其附加到文档正文。

于 2013-08-26T07:32:23.667 回答