本站不兼容 8 以前的版本的 Interner Explorer 浏览器(或基于这些版本的 IE 的其他浏览器),并且页面样式不完全兼容 IE 8,我们建议你升级至 IE 9 或改用其他非 IE 浏览器

Mozest™

  • 正在加载用户菜单…

开放、分享、互助

转播到腾讯微博
返回列表 回复 发帖

[求助] 能否改进一下起点txt下载脚本

之前请dindog帮忙写了一个起点下载脚本
  1.   // ==UserScript==
  2.     // @name           起点下载
  3.     // @namespace      qidiantxt
  4.     // @include        http://www.qidian.com/Book/*
  5.     // ==/UserScript==
  6.     var link = document.location.pathname.match(/\d+/)
  7.     tab = document.querySelector('.tabs ul');
  8.     newtab = document.createElement('li');
  9.     newtab.innerHTML='<a href="http://download.qidian.com/pda/' + link + '.txt">下载TXT</a>';
  10.     tab.appendChild(newtab);
复制代码
但是觉得实际上体验还可以更好,于是就在http://g.mozest.com/thread-40832-1-1    发帖求助
    现在想到一个应该更容易实现的方案,就是在点击新建的那个“下载txt”标签后,先自动复制小说名字到剪贴板,然后打开那么下载地址,那样的话保存的时候只需要粘贴以下然后点击保存即可,就不用另外去鼠标选定了,然后复制了,可以减少好几步鼠标键盘操作,这样用户体验就好一些。可能这次又要拜托dindog帮忙了,求助的几个脚本问题dindog都给予了较大帮助,非常感谢
楼主懂一点CSS吗?要是懂的话,只要学好选定标题就可以了。(前提是Scriptish,否则要访问剪贴板要插入原页面,还要取得权限)

比如起点,标题的css选择器可以用 .title h1
  1. newtab.addEventListener('click', function(){
  2. var title = document.querySelector('.title h1').textContent
  3. GM_setClipboard(title);
  4. },0);
复制代码
我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
刚刚去确认了下,那个userScriptLoader脚本也是支持setClipboard的

纵横中文网的题目是css选择器可以是.wright>h1>a
  1. var title = document.querySelector('.wright>h1>a').title
复制代码
cinhoo脚本里面对象是a,把newtab改成a就行
我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
2# dindog
你好,我将你说的这个地方融入到了原来的脚本,也就是变成了
  1.     // ==UserScript==
  2.     // @name           起点下载
  3.     // @namespace      qidiantxt
  4.     // @include        http://www.qidian.com/Book/*
  5.     // ==/UserScript==
  6.     var link = document.location.pathname.match(/\d+/)
  7.     tab = document.querySelector('.tabs ul');
  8.     newtab = document.createElement('li');
  9.     newtab.addEventListener('click', function(){
  10.     var title = document.querySelector('.title h1').textContent
  11.     GM_setClipboard(title);
  12.     },0);
  13.     newtab.innerHTML='<a href="http://download.qidian.com/pda/' + link + '.txt">下载TXT</a>';
  14.     tab.appendChild(newtab);
复制代码
总的来说是成功的,但是有一个问题,就是粘贴时书名前面会有一个空格,还要手动删除,查看了起点的书页的源代码,发现其<h1><h1>之间的书名前是带有一个空格的,是否有办法去除此空格或者要另外找个地方获取书名???
用match(/\w+/)或者replace(" ","")放在title后面
请大家帮忙,把本站加入ABP白名单
本帖最后由 ffpro 于 2012-2-6 14:24 编辑

5# congxz6688
不是很清楚要怎么写,能够明晰一下吗,实在是不懂
6# ffpro
  1. title = title.trim();
复制代码
我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
7# dindog
多谢,下面是完整代码,有需要的朋友可以看看
  1. var link = document.location.pathname.match(/\d+/)
  2.     tab = document.querySelector('.tabs ul');
  3.     newtab = document.createElement('li');
  4.     newtab.addEventListener('click', function(){
  5.                       var title = document.querySelector('.title h1').textContent
  6.                       title = title.trim();
  7.                       GM_setClipboard(title);
  8.                       },0);
  9.     newtab.innerHTML='<a href="http://download.qidian.com/pda/' + link + '.txt">下载TXT</a>';
  10.     tab.appendChild(newtab);
复制代码
6# ffpro
title = title.trim();
dindog 发表于 2012-2-6 15:12
竟然有这样的好东西。
请大家帮忙,把本站加入ABP白名单
用了脚本后   起点网页 下载TXT是乱码
虽然能用 但不是中文 看起来很习惯  
LZ 有办法解决吗
10# qq2w3e4r

脚本文件存成utf-8编码试试
或者把下载TXT换成\u4E0B\u8F7DTXT
楼上说的是正确的,就是文件编码的问题