由于YouTube 在其界面上不再使用该remove duplicates按钮(大约在同一时间,他们不再使用非聚合物界面),因此用户在删除播放列表中的重复数据时不知所措。我到处寻找工具来做到这一点,但无济于事。我发现这个脚本可以从播放列表中删除所有视频,并且想知道是否可以修改它(由比我更了解 javascript 的人)以仅删除重复的视频:
setInterval(function () {
document.querySelector('#primary button[aria-label="Action menu"]').click();
var things = document.evaluate(
'//span[contains(text(),"Remove from")]',
document,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null
);
for (var i = 0; i < things.snapshotLength; i++) {
things.snapshotItem(i).click();
}
}, 1000);
Run Code Online (Sandbox Code Playgroud) 我在Windows Vista上使用FF 3.5.3.
这是我的(为简洁而编辑)书签:
javascript:(function(){
var text = window.content.getSelection().toString();
alert(text);
})();Run Code Online (Sandbox Code Playgroud)
有效,但不适用于gmail.com.可能是由于动态生成的内容.
我知道这个解决方法,但它只适用于Firefox扩展.
要执行bookmarklet代码,需要由用户操作bookmarklet.是否有任何方法可以在页面加载时自动运行bookmarklet或任何javascript?
或者是一个附加的方式去?
谢谢
我正在尝试为http://esv.to建立的特殊URL缩短服务构建一个javascript bookmarklet,用于缩短经文引用(即"Matthew 5"变为" http://esv.to/Mt5 ".小书签应该对http://api.esv.to/Matthew+5做一个GET请求,返回text/plain响应http://esv.to/Mt5.
bookmarklet本身的代码如下所示(为了便于阅读而扩展):
var body = document.getElementsByTagName('body')[0], script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://esv.to/media/js/bookmarklet.js';
body.appendChild(script);
void(0);
Run Code Online (Sandbox Code Playgroud)
代码http://esv.to/media/js/bookmarklet.js看起来像这样:
(function() {
function shorten(ref, callback) {
var url = "http://esv.to/api/" + escape(ref);
var req = new XMLHttpRequest();
req.onreadystatechange = function shortenIt() {
if ( this.readyState == 4 && this.status == 200 ) {
callback(req.responseText);
};
};
req.open( "GET", url );
req.send();
};
function doBookmarklet() {
var ref = …Run Code Online (Sandbox Code Playgroud) 嘿伙计们,不知道我做错了什么?
javascript:document.getElementsByTagName('textarea').innerHTML='inserted';
Run Code Online (Sandbox Code Playgroud)
我想创建一个bookmarklet,将简单文本插入给定网页上的textarea.
关于亚光
检查此链接. http://dev.twitter.com/pages/share_bookmarklet
将书签拖到书签栏并单击它.它会打开一个弹出窗口.
为什么我的firefox/ie/chrome没有阻止这个?
谢谢
javascript:
function loadScript(scriptURL) {
var scriptElem = document.createElement('SCRIPT');
scriptElem.setAttribute('language', 'JavaScript');
scriptElem.setAttribute('src', scriptURL);
document.body.appendChild(scriptElem);
}
var url = 'http://api.bit.ly/shorten?version=2.0.1&login=tweetthees&apiKey=Rxyz&longUrl=' + document.location;
var longUrl = document.location;
loadScript(url + '&callback=tweetme');
function tweetme(json) {
var shortLink = json.results[longUrl].shortUrl;
var finalUrl = 'http://twitter.com/home?status=Reading: ' + document.title + ' ' + shortLink;
window.open(finalUrl, "Share link", "width=1024,height=400,location=1,status=1,scrollbars=1");
}
Run Code Online (Sandbox Code Playgroud) 我使用Firebug的Inspect Element在网页中捕获XPath,它给了我类似的东西:
//*[@id="Search_Fields_profile_docno_input"]
Run Code Online (Sandbox Code Playgroud)
我在IE中使用Bookmarklets技术来捕获同一个对象的XPath,我有类似的东西:
//INPUT[@id='Search_Fields_profile_docno_input']
Run Code Online (Sandbox Code Playgroud)
请注意,第一个没有INPUT而是有一个星号(*).为什么我会得到不同的XPath表达式?我用于测试的哪一个是否重要:
Selenium.Click(//*[@id="Search_Fields_profile_docno_input"]);
Run Code Online (Sandbox Code Playgroud)
要么
Selenium.Click(//INPUT[@id='Search_Fields_profile_docno_input']);
Run Code Online (Sandbox Code Playgroud) 我想创建一个书签来打开谷歌浏览器的设置面板,并通过单击清除我的缓存.
有一段时间了,我有一个书签打开chrome的设置面板,已经选择了'clear cache'设置.单击书签(通常在新选项卡中打开它)后,我必须打开选项卡并提交表单.然而,在开发这项任务时我必须经常这样做,而这几个重复的步骤似乎是不必要的.
此链接打开页面以清除一个缓存(显然仅限Chrome用户):chrome:// chrome/settings/clearBrowserData #cache
我最近发现了bookmarklet,并认为通过单击完成清除缓存的任务是一个很好的方法.但是,我发现在设置页面(上面链接)上甚至将基本的javascript示例放在地址栏中都无法正常工作.
例如,这适用于任何给定页面上的地址栏,但不适用于Chrome设置页面:
javascript:alert('hello stackoverflow');
Run Code Online (Sandbox Code Playgroud)
有没有办法从chrome设置页面执行javascript?还有其他选择吗?我正在寻找实现这一目标的任何路线,并希望沿途学习一些东西,即使这意味着做一些邪恶.:)
我有这个小书签:
javascript:document.getElementsByTagName("div")[0].innerHTML+="Chuck Norris";
Run Code Online (Sandbox Code Playgroud)
现在它显然应该占据div页面上的第一个,并将Chuck Norris加入其中.
相反,当粘贴在地址栏上时,查克诺里斯会覆盖页面.
为什么会这样?
注意:在Safari上不会发生这种情况......
我正在尝试使用一个简单的书签,在任何URL的末尾添加一个简短的参数
我使用?clearcache来清空内部缓存,所以为了不每次都输入它,我正在寻找一个简单的解决方案
我的网站是
http://subdomain.mysite.net/
Run Code Online (Sandbox Code Playgroud)
并使用书签我想让URL转到
http://subdomain.mysite.net/?clearcache
Run Code Online (Sandbox Code Playgroud)
与更深的页面相同,正如我希望的那样
http://subdomain.mysite.net/some-page/?clearcache
Run Code Online (Sandbox Code Playgroud)
我正在尝试
javascript:location=location.href.replace(/http:/g,"/?clearcache")
Run Code Online (Sandbox Code Playgroud)
但它不起作用
当我点击该书签时,我的URL就变成了
http://subdomain.mysite.net/?clearcache//subdomain.mysite.net/
Run Code Online (Sandbox Code Playgroud)
我觉得我很接近它,但我只需要专家的小小提示.我希望得到答复.谢谢
bookmarklet ×10
javascript ×9
firebug ×1
firefox ×1
gmail ×1
playlist ×1
popup ×1
regex ×1
selenium ×1
window.open ×1
xpath ×1
youtube ×1