【问题标题】:Bookmarklet implementation书签实现
【发布时间】:2011-11-06 16:41:35
【问题描述】:

我正在用这个更理性的问题重新表述我以前听起来很荒谬的整个问题。 我正在实现一个小书签(来自此链接 http://net.tutsplus.com/tutorials/javascript-ajax/create-bookmarklets-the-right-way/ 的教程)有点类似于 bitly 侧边栏参考链接:http://bitly.com/pages/sidebar 一旦用户将书签添加到收藏夹/书签栏,当用户单击书签时,我的弹出窗口会打开各种字段供用户添加..当前在我的本地机器上使用静态 html 标记执行此操作。我目前还没有包含弹出窗口所需的 css,但很快就会实现它。 但我面临着不少挑战: 这是我的代码: 书签

<a href='javascript:(function(e,a,g,h,f,c,b,d){if(!(f=e.jQuery)||g>f.fn.jquery||h(f)){c=a.createElement("script");c.type="text/javascript";c.src="http://ajax.googleapis.com/ajax/libs/jquery/"+g+"/jquery.min.js";c.onload=c.onreadystatechange=function(){if(!b&&(!(d=this.readyState)||d=="loaded"||d=="complete")){h((f=e.jQuery).noConflict(1),b=1);f(c).remove()}};a.documentElement.childNodes[0].appendChild(c)}})(window,document,"1.3.2",function($,L){alert("div is not hidden");var content_script = $("<script></script>").attr("src","bookmarklet_content.js").attr("type","text/javascript").attr("language","Javascript");$("head").append(content_script);});'>Edit</a>

通过小书签包含的 JS 文件

var html_content = '';
var isUserSignedIn = 1;
if(isUserSignedIn) {
  html_content = 'markup for my popup div';
  $('body').append(html_content);
  if($("#tbarAddtoBrfPopup")) {
    alert('element identified');
  } else {
 alert('failed to identify');
 }
$("#divname").find(".pagename_parent").find(".pagetitletextfield").val(document.title);
var success_popup = 'another huge bunch of markup';
$('body').append(success_popup);
}
else {
  html_content = 'another pop up for signing in';
  $(html_content).insertAfter($('body'));
}
$("#popup1_submit_button").live('click',function(){
  $("#current_popup").hide();
  $("#Success_p0\opup").show();
});
// close buttons in my popup
$(".close").live('click',function(){
  $(this).parent().parent().hide();
});

我已经感受到了在标记中转义内容以防止格式不正确的错误(我花了一个小时才找到并修复)以及一些特殊字符(例如“x”表示关闭)显示在一种有趣的 ascii 艺术风格。即使现在我收到行 var html_content=''; 的语法错误我对此一无所知。

如果有更好的程序可以从外部文件中获取 html 和 js 并毫无问题地显示,请告诉我。

此外,此弹出窗口适用于我机器中的本地页面...当我将书签用于任何公共页面时,似乎根本没有加载外部 js。似乎我在这里遗漏了一些东西。 编辑猜测它是因为调用我的 js 文件 w.r.t 它的相对路径。

任何形式的帮助或建议(除了我应该退出编码)都会很棒。 谢谢!!

【问题讨论】:

  • 我觉得你很幸运。

标签: javascript browser bookmarklet bookmarks


【解决方案1】:

我决定遵循使用 iframe 的简单实现,这似乎是防止 css 和 js 混搭和搞砸问题的最佳选择...

【讨论】:

    猜你喜欢
    • 2016-01-26
    • 2019-09-29
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多