我刚刚写了我的第一个书签。这是简单的 js 代码,它获取当前页面的 URL 并执行 POST 请求将其提交到另一个页面。
问题是我需要在不允许 HTML 的博客平台(quora.com)上分享此内容。因此,我需要在另一个网站上发布指向我的书签的链接,并提供指向该书签的链接。我希望能够提供一个链接,人们可以将其拖动到书签栏。
这是书签代码。
javascript:(function() {
var msg = window.jQuery.ajax({url:'https://www.quora.com/api/logged_in_user',async:false,type:'GET'});
var username = undefined;
if (msg) {
username = window.jQuery.parseJSON(msg.responseText.replace('while(1);',''));
window.jQuery.post('https://my-website',
{'answer_1':window.location.href,'submitter':username.name});
alert (username.name + ' nominates ' + window.location.href);
}})();
首先,您需要转义书签代码中的特殊字符
\
、 `
、 $
并将其存储在模板字符串中。然后,您可以创建一个锚标记并将其 href
属性设置为等于您的模板字符串。这使用户可以轻松地将链接拖到书签栏中。随后,他们只需单击书签即可执行您的代码。”
var bookmarkletString = `javascript:(function() {
var msg = window.jQuery.ajax({url:'https://www.quora.com/api/logged_in_user',async:false,type:'GET'});
var username = undefined;
if (msg) {
username = window.jQuery.parseJSON(msg.responseText.replace('while(1);',''));
window.jQuery.post('https://my-website',
{'answer_1':window.location.href,'submitter':username.name});
alert (username.name + ' nominates ' + window.location.href);
}})();`;
document.querySelector("#bookmarklet").href = bookmarkletString;
<h1>Drag This Link into your Bookmarks Toolbar</h1>
<a id="bookmarklet">Your Bookmarklet Name</a>