它是一个简单的JavaScript小书签,可捕获标题,URL和选定的文本。为了确保它能完美地抓住标题(正好是标题),我必须把这个小书签弄长一些。如果我手动编辑bookamrklet的话就可以了。但是我尝试了很多不同的方法来制作外部javascript方法。我做不到。
我使用Google网站作为JS文件的托管网站。

     javascript:
q=(document.location.href);
t=(document.title);
tt=t.lastIndexOf('|');
if(tt>-1) title=t.substring(0,tt);
else
{
if(t.lastIndexOf('%E2%80%A2')>-1) title=t.substring(0,t.lastIndexOf('%E2%80%A2'));
else if(
t.lastIndexOf('%C2%AB')>-1) title=t.substring(0,t.lastIndexOf('%C2%AB'));
      else { title=t; } }
if(q.search("inblog")!=-1)
{ x=title.lastIndexOf('-'); title=title.substring(0,x); }
else if(q.search("m-alo.com")!=-1)
{ x=title.lastIndexOf('-'); title=title.substring(x+2); }
else if(q.search("blog4")!=-1)
 { x=title.indexOf('|'); title=title.substring(x+2,title.length); }
else if(q.search("blogspot")!=-1)
{ x=title.indexOf(':'); title=title.substring(x+2,title.length); }
else if(q.search("blog")!=-1)          title=document.getElementsByTagName('h2').item(0).innerHTML;
else if(q.search("arts")!=-1)
{ x=title.lastIndexOf('%C2%BB'); title=title.substring(x+2); }
else if(q.search("sports")!=-1||q.search("tech")!=-1)      title=document.getElementsByTagName('h1').item(0).innerHTML;
else if(q.search("blog2")!=-1) { title=document.getElementsByTagName('h1').item(0).innerHTML; x=title.lastIndexOf('">'); title=title.substring(x+4,title.length-4); }
d=document,s='';
if(d.getSelection) s=d.getSelection(); if(d.selection) s=d.selection.createRange().text;
if(window.getSelection) s=window.getSelection();
void(open('http://domain.com/submit?url='+encodeURIComponent(q.replace(/[#].*/,''))+'&title='+encodeURIComponent(title)+'&body='+encodeURIComponent(s),'',
'resizable,location,menubar,toolbar,scrollbars,status'));


你能帮助我吗?如何将这个脚本放入一个外部js文件并加载?

最佳答案

小书签通常会加载一个<script>标记,然后再处理其余的工作。这样可以减小小书签的大小。就像是:

javascript:(function(){

var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.src = "http://yoursite.com/external.js";
head.appendChild(script);

})();


确保编辑“ http://yoursite.com/external.js”部分。

09-13 02:51