标签: bookmarklet

添加书签时 JavaScript 意外标识符

我有这段代码可以正常工作:

if (typeof jQuery === "undefined" || jQuery.fn.jquery !== '1.4.2') {
var script_tag = document.createElement('script');
script_tag.setAttribute("type","text/javascript");
script_tag.setAttribute("src","http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");
script_tag.onload = main; // Run main() once jQuery has loaded
script_tag.onreadystatechange = function () { // Same thing but for IE
if (this.readyState == 'complete' || this.readyState == 'loaded') main();
}
document.getElementsByTagName("head")[0].appendChild(script_tag);
} else {
    main();
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试通过 bookmarkleter 压缩它时,出现“意外标识符”错误

javascript:(function(){if(typeof%20jQuery===%22undefined%22%20||%20jQuery.fn.jquery%20!=='1.4.2'){var%20script_tag=document.createElement('script');script_tag.setAttribute(%22type%22,%22text/javascript%22);script_tag.setAttribute(%22src%22,%22http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js%22);script_tag.onload=main;script_tag.onreadystatechange=function(){if(this.readyState=='complete'%20||%20this.readyState=='loaded')main();}document.getElementsByTagName(%22head%22)[0].appendChild(script_tag);}else{main();}})();
Run Code Online (Sandbox Code Playgroud)

建议?

谢谢

javascript bookmarklet

1
推荐指数
1
解决办法
884
查看次数

从剪贴板中解析并添加url

我需要一个javascript书签来获取我在剪贴板中的网址解析出2个数字并创建一个新网址,并添加一个链接到页面顶部,单击时将该网址添加到我的书签菜单.

说我有这样的网址

http://www.website.com/frontpageeditor.jhtml?sectionID=2844&poolID=6276
javascript:getPoolPageUrl(9800,22713)

然后我需要将数字添加到此网址

javascript:frames['content'].getPoolPageUrl(9800,22713)

然后将URL添加到框架"content"的顶部.

我已经在这方面做了很久,但我无法弄明白.



更新
我把一些东西放在一起,向你展示我需要的东西.这个不起作用.

有什么想法吗?

var url = window.clipboardData.getData('Text');
var reg = /(\d+)/g;
var matches = url.match(reg); //returns ["2844","6276"]
var newUrl = "javascript:frames['content'].getPoolPageUrl("+matches[0]+","+matches[1]+")";
var link = document.createElement('a');
link.src = newUrl;
frames['content'].document.body.appendChild(link);
Run Code Online (Sandbox Code Playgroud)



Update2
这有效.我能做些什么改变才能让它变得更好?

var url = window.clipboardData.getData('text');
var matches = url.match(/(\d+)/g);
var link = frames['content'].document.createElement('a');
link.href = "javascript:frames['content'].getPoolPageUrl("+matches[0]+","+matches[1]+")";
link.innerHTML = document.title;
frames['content'].document.body.appendChild(link);
Run Code Online (Sandbox Code Playgroud)

javascript regex url parsing bookmarklet

0
推荐指数
1
解决办法
1245
查看次数

Javascript bookmarket意外标识符?

如果您可以运行此代码并查看是否发现"意外标识符",将非常感激.非常感谢你们.

javascript:(function () {
    url = document.location.href;
    if (url.match('youtube.com/watch?')) {
        var s=document.createElement('script');
        s.setAttribute('src','http://jquery.com/src/jquery-latest.js');
        document.getElementsByTagName('body')[0].appendChild(s);
        dataString = 'url=' url;
        $.ajax({
            type: 'POST',
            url: '/create/',
            data: dataString,
            success: function(data){ console.log(data); }
        });
    }
    else {
        alert('This is not a youtube video.')
    }
    })();

javascript bookmarklet

0
推荐指数
1
解决办法
527
查看次数

Bookmarklet每隔一分钟刷新一次页面,所以我不会在午餐时丢失会话数据

我刚刚将一大堆数据输入到我正在测试的网站中.我不想再次进入,但想去吃午饭,会话将在我回来的时候到期.

一个小书签将是方便的(因为这种情况经常发生),以保持刷新页面,每分钟左右.

有任何想法吗?

谢谢.

javascript bookmarklet

0
推荐指数
1
解决办法
3796
查看次数

用于`set('pdf ppt tif tiff jpg jpeg'.split())`的JavaScript?

主题行中的Python习语

set('pdf ppt tif tiff jpg jpeg'.split())
Run Code Online (Sandbox Code Playgroud)

说明了创建一组字符串的相当紧凑的方法.1 我正在寻找一种类似的紧凑型成语来在JavaScript中创建一个集合.(注意:我对仅创建字符串列表感兴趣.)

我理解JS中设置的标准方法是使用对象(键是设置元素,值是无关紧要的),但我还没有找到一种比较简洁的方法来在JS中创建这样的集合.

FWIW,我正在寻找的习语是用于书签(因此强调简洁).

谢谢!

1  对于那些不熟悉Python的人,内部表达式只是计算通过在空白处拆分调用字符串对象而获得的字符串列表; 这个列表是set构造函数的参数.

编辑:强调我正在寻找一个集合(即对象),而不是字符串列表.

javascript bookmarklet set

0
推荐指数
1
解决办法
280
查看次数

在小书签中使用JS setTimeout

我试图在Firefox的小书签中运行一些JS代码。这是一些基本的代码来证明这一点:

window.setTimeout(function(){alert('i ran');},1000);

当我在其中运行带有setTimeout的代码时,我得到整个页面被通常在控制台中记录的计数器值替换。

有没有办法捕获此输出并阻止这种情况发生?

谢谢!

javascript bookmarklet

0
推荐指数
1
解决办法
920
查看次数

暂时禁用所有onclick事件并将其绑定回来

如何禁用页面上的所有onclick事件,绑定我的自定义函数,并在执行后启用所有以前的事件?

我建立一个书签,它应该已经任意加载页面上工作,我使用jQuery来处理我的自定义逻辑(它被加载后的页面jquerified).请注意,我没有任何控制哪些事件和何时被绑定.

目前我找到的最好的稳定解决方案是取消绑定事件,通过自定义函数绑定阻止默认操作,然后重新加载页面.这有效,但我想避免重新加载.部分解决方法是重新加载页面并滚动到上一个位置(如何实现此效果?).一些可能的解决方案会使用iframe,但我宁愿避免这种情况.

javascript jquery bookmarklet cross-browser

0
推荐指数
1
解决办法
4326
查看次数

有什么办法让postMessage使用HTTPS?

我有一个浏览器书签,可以在页面上加载iframe.然后我需要iframe能够将字符串传递回父窗口.子页面具有以下功能:

function post(m){
parent.postMessage(m,'*');
}
Run Code Online (Sandbox Code Playgroud)

只要子页面(在iframe中加载的页面)在http上,这就可以正常工作.但是当它是https时,postMessage不起作用.我无法找到任何关于此的文档或任何解决方法.

有任何想法吗?

编辑:

在FF和Chrome上都会发生这种情况(还没有尝试过IE).为了澄清:iframe加载,只是postMessage没有被执行.在HTTP页面上,一切正常.我用来接收字符串的代码如下:

function listener(event){
if ( event.origin !== "http://www.mysite.com" )
return

if (event.data=="string1"){function1();}
if (event.data=="string2"){function2();}
}

if (window.addEventListener){
addEventListener("message", listener, false)
} else {
attachEvent("onmessage", listener)
}
Run Code Online (Sandbox Code Playgroud)

javascript iframe postmessage bookmarklet cross-domain

0
推荐指数
1
解决办法
4579
查看次数

是什么导致While(1)循环删除网站的代码?

我在JavaScript代码中经历了一些while循环,并对导致循环从网站中删除所有代码(单个标头除外)的原因感到好奇。我认为这是因为循环是无限的(因为1始终等于1),但是对于为什么不仅仅使网站崩溃而感到好奇。是否由于未将document.write指定给某个路径?

javascript: (function() { while (1) {  document.write('Y'); }})();
Run Code Online (Sandbox Code Playgroud)

编辑:感谢您的帮助,似乎document.open已运行并导致页面代码被删除。然后,浏览器认为这是由于实际网站的代码所致,Chrome发出了一条错误消息。

html javascript bookmarklet

0
推荐指数
1
解决办法
63
查看次数

我可以创建浏览器书签以自动创建 Google 表格文档的新副本以用作模板吗?

我想创建一个自定义模板,其中包含许多保存的宏,以便我创建的每个新工作表文档都已经嵌入了这些宏。

我目前在我的浏览器栏中有一个链接到 sheet.new 的书签,它创建了一个空白电子表格。我想要这种行为,但需要一份现有文档的副本。

bookmarklet google-sheets

0
推荐指数
1
解决办法
72
查看次数