[已解决]求助有没有可以方便编辑zotero网页快照(本地HTML)的工具

如题,想去掉zotero快照中的部分元素,比如广告、评论等,我尝试在chrome浏览器安装Print Edit WE扩展,很喜欢它的编辑页面的方式,但是浏览zotero本地快照时这个插件用不了。求助有什么方便的所见所得的工具吗?

已解决:总结见18楼

可以在本地打开保存的文件,手动修改。
用chrome打开文件,打开开发者工具,在element页签下选择元素-右键-删除,最后在html标签-右键-edit as html-全选内容手动覆盖文件。
或者使用vscode这类编辑器手动删除标签…

1 Like
1 Like

这个操作门槛有点高……我这种外行找了半天只找到怎么删除元素,后面“ 在html标签-右键-edit as html -全选内容手动覆盖文件”不知道怎么操作,也没搞明白怎么保存


截屏2023-10-07 14.45.07
截屏2023-10-07 14.45.21

1 Like

把你的文件拿记事本打开,把复制的粘过去。
麻烦是麻烦, :rofl: 但是我确实没有见过有什么方便编辑的方法。

找了半天Print Edit WE的“允许访问本地文件URL”的选项,后来才发现chrome新版里叫“允许访问文件网址”。可以编辑zotero的本地快照了,但是ctrl+s保存提示还要Save Page WE插件,我下了插件再试,总算能保存了。还有些问题
1、保存时总是提示“1/xx resources could not be loaded”,继续保存后我打开看了看保存后文件倒是没什么内容缺失,我编辑的都是本地文件出现这个提示不知道正常不正常?
2、保存都是新建文件,不能覆盖原文件?
3、我试了3个文件,删除部分内容后保存的新html文件都比原文件容量大了,这个不应该是更小才对吗?

用uBlock之类的广告屏蔽插件先把你要删除的部分屏蔽掉,再用zotero保存?

1 Like

javascript:document.body.contentEditable = ‘true’; document.designMode=‘on’; void 0

编辑当前页面
小书签工具,将上面的保存为书签,在需要编辑的页面打开,能完成简单的删除和增加文字,之后再保存就好了。

1 Like

这个我试不成功

只是举个例子,不一定是广告,有时保存的公众号文章中一些无关配图我也想删掉,我试了Print Edit WE和2楼的方法都行,前者操作比较简单

把你的文件拿记事本打开,把复制的粘过去。
麻烦是麻烦, :rofl: 但是我确实没有见过有什么方便编辑的方法。

目前Print Edit WE编辑操作比较方便,而且对于外行比较友好,它有个选中外删除功能,比较省事。还是感谢帮助,我试了试你的方法,最大的优点是删除部分内容后的保存的文件容量明显缩小了。Print Edit WE保存的我不知道为什么删了内容反而容量增大了。

试试这个, 他那个引号写的中文。

javascript:document.body.contentEditable = 'true'; document.designMode='on'; void 0
1 Like

文件里面,或者文字编码改变都会出现文件大小变化。我那个方法应该不会改变文件编码,没有对代码进行格式化

1 Like

网上收集的清除网页元素的小书签

javascript:(function(){var isIe=false;/*@cc_on isIe=true; @*/function fe(a,fn){var i,l=a.length;for(i=0;i<l;i++){fn(a[i]);}};function ae(el,n,fn,ix){function wfn(ev){var el=(isIe?window.event.srcElement:ev.target);if(ix%20||%20!el.xmt)%20fn(el);}if%20(isIe){n=%27on%27%20+%20n;el.attachEvent(n,%20wfn);}%20else%20{el.addEventListener(n,%20wfn,%20false);}if(!el.es)el.es=[];el.es.push(function(){if(isIe){el.detachEvent(n,wfn);}%20else%20{el.removeEventListener(n,%20wfn,%20false);}});el.re=function(){fe(el.es,function(f){f()});};}function%20sce(el){var%20oldclick=el.onclick,oldmu=el.onmouseup,oldmd=el.onmousedown;el.onclick=function(){return%20false;};el.onmouseup=function(){return%20false;};el.onmousedown=function(){return%20false;};el.rce=function(){el.onclick=oldclick;el.onmouseup=oldmu;el.onmousedown=oldmd;};}if%20(!window.r_)window.r_=[];var%20r=window.r_;var%20D=document;ae(D.body,%27mouseover%27,%20function(el){el.style.backgroundColor=%27#ffff99';%20sce(el)});ae(D.body,'mouseout',%20%20function(el){el.style.backgroundColor='';if(el.rce)el.rce();});ae(D.body,'click',%20%20%20%20%20function(el){el.style.display='none';%20r.push(el);});function%20ac(p,tn,ih){var%20e=D.createElement(tn);if(ih)e.innerHTML=ih;p.appendChild(e);return%20e;}var%20p=0;var%20bx=ac(D.body,'div');bx.style.cssText='position:'+(isIe?'absolute':'fixed')+';padding:2px;background-color:#99FF99;border:1px%20solid%20green;z-index:9999;font-family:sans-serif;font-size:10px';function%20sp(){bx.style.top=(p&2)?'':'10px';bx.style.bottom=(p&2)?'10px':'';bx.style.left=(p&1)?'':'10px';bx.style.right=(p&1)?'10px':'';}sp();var%20ul=ac(bx,'a','%20Undo%20|');ae(ul,'click',function(){var%20e=r.pop();%20if(e)e.style.display='';},%20true);var%20ual=ac(bx,'a','%20Undo%20All%20|');ae(ual,'click',function(){var%20e;while(e=r.pop())e.style.display='';},%20true);var%20ml=ac(bx,'a','%20Move%20|');ae(ml,'click',function(){p++;sp();},%20true);var%20xl=ac(bx,'a','%20Exit%20');ae(xl,'click',function(){D.body.re();bx.parentNode.removeChild(bx);},%20true);fe([bx,ul,ml,xl,ual],function(e){e.style.cursor='pointer';e.xmt=1;});})()
2 Likes

ublock 可以进入临时移除元素模式,选中的元素不会添加到规则。这个选项也能设置快捷键。

1 Like

感谢各位,问题已基本解决。总结一下:

  1. Zotero保存快照前,可以用16、17楼的办法先移除元素再保存。16楼的小书签优点是可以连续操作,小问题是有些跳转链接点击移除的时候会触发跳转;17楼ublock临时移除模式不会触发跳转,可以两者结合用。
  2. 对于已经保存的本地页面,方法1:用chrome的Print Edit WE、Save Page WE插件。打开两个插件“允许访问文件网址”设置就可以处理本地html文件,Print Edit WE插件操作起来比较简便,保存后要自己改名覆盖原文件。小问题是编辑后的文件可能比原文件还大。方法2:用2楼的方法,直接在chrome开发者工具中编辑,这个操作门槛有点高,好处是不会改变文件编码,删除元素后文件大小肯定是减小的。方法3:用19楼推荐的chrome浏览器Singlefile插件,也要设置“允许访问文件网址”。移除元素的操作也很方便,而且生成的新文件容量也变小,还支持批注。不过部分特殊页面处理效果和方便性不如Print Edit WE(也可能和我个人水平有限有关)。例如我有个内容在背景题图上悬浮滚动的网页,选中前面的内容块,用删除选中区域以外的元素功能,singlefile处理完内容还是在一片空白上悬浮滚动,Print Edit WE处理完就没有悬浮滚动的效果了(个人希望实现的效果)。两者可以都留着,首选用Singlefile插件处理,比较特殊的再用Print Edit WE试试。

补充:SinglefileZ插件我也试了试,操作同Singlefile。我简单试了几个页面,图片多的情况下,前者保存的文件比后者小,页面简单的话反而可能是后者小。但在浏览器里查看时前者保存的文件占内存更大。其中一个图稍多的页面,前者保存文件大概5.44MB,后者保存文件7.38MB,在chrome中同时打开,鼠标悬停在标签显示的内存用量,前者185MB,后者64.4MB)。

PS:之前我用方法2用文本编辑器打开Zotero保存的快照文件时,看到开头部分有“Page saved with SingleFile” ,原来Zotero快照就是用的Singlefile的技术。

2 Likes

直接转singlefile插件, 然后本地文件直接打开zotero的html文件.
右键选singlefile的 [批注页面]
里面有高亮工具, 也有部分移除对象工具, 搞完后点最右边的保存.

但是singlefile二次编辑保存的时候,不能自动替换原来的文件, 你得自己选一次.

1 Like

感谢推荐,我试了一下也挺好用的,作为本地编辑首选了,楼上总结也更新了一下。