1

我使用谷歌浏览器和它的开发工具,比如“检查元素”来检查我的网页的性能。我知道它的开发者工具' Console'可以用来执行JavaScript。

我只是将我感兴趣的网页保存在我的 Delicious 网络帐户上,我注意到它需要的所有信息都通过了JavaScript,所以我只是尝试将该代码放在我的 JS 控制台上,以便我可以看到整个后台进程,但它失败的。谁能告诉我应该如何使用它,因为我知道这是可以做到的。

我看到的东西 当我点击书签时

您需要保存为书签的代码

javascript:(function(e,t)%7Bvar n=e.document;setTimeout(function()%7Bfunction a(e)%7Bif(e.data==="destroy_bookmarklet")%7Bvar r=n.getElementById(t);if(r)%7Bn.body.removeChild(r);r=null%7D%7D%7Dvar t="DELI_bookmarklet_iframe",r=n.getElementById(t);if(r)%7Breturn%7Dvar i="https://delicious.com/save?",s=n.createElement("iframe");s.id=t;s.src=i+"url="+encodeURIComponent(e.location.href)+"&title="+encodeURIComponent(n.title)+"&note="+encodeURIComponent(""+(e.getSelection?e.getSelection():n.getSelection?n.getSelection():n.selection.createRange().text))+"&v=1.1";s.style.position="fixed";s.style.top="0";s.style.left="0";s.style.height="100%25";s.style.width="100%25";s.style.zIndex="16777270";s.style.border="none";s.style.visibility="hidden";s.onload=function(){this.style.visibility="visible"};n.body.appendChild(s);var o=e.addEventListener?"addEventListener":"attachEvent";var u=o=="attachEvent"?"onmessage":"message";e[o](u,a,false)},1)})(window)

详细信息:我在delicious.com 上有一个帐户,该帐户为我提供了保存我感兴趣的网络链接的服务。例如,如果我正在访问 Stackoverflow 问题页面并且我喜欢这个问题,我只需要单击书签(我已经为您提供了上面的 URL),我想知道它如何获取其父页面并将其保存在他们的数据库中,如何仅使用 javascript 来完成,我总是注意到只有网址的书签,但这个包含 javascript 代码,谁能告诉我它是如何工作的,谢谢

4

1 回答 1

1

您尝试执行的是JavaScript pseudo-scheme. 注意javascript:开头的部分。听起来不熟悉其他方案,如http:, https:, ftp:

它将在 URL 中执行,而不是在控制台中。换句话说,你用来在浏览器的地址栏中JavaScript pseudo-scheme执行一段 JavaScript 代码。

要在 Console 中执行它,您必须做两件事:

  1. 删除javascript:方案
  2. 因为它应该在 URL 中执行,所以它是 URL 编码的。您必须先对其进行解码。看到了%7B吗?它代表{. 控制台无法识别它,直到它被解码为原始字符。
于 2013-08-03T09:58:42.317 回答