有些注定了被遗忘的话,也就有的注定了属于沉静的自私.

扩展:Gadget-Navigation popups

来自森亮号航海见识 {SLboat Insight;}
跳转至: 导航搜索

更多研究

扩展:Gadget-Navigation popups/新窗口操作扩展:Gadget-Navigation popups/时间戳转换扩展:Gadget-Navigation popups/翻译

扩展
  $IP

怪异

  • 用久一些时间后,感觉它有点烦人的讨厌

怀念

  • 用它来做编辑框的显示图片啥的预览,或许是最妙的用法

神奇

  • 它弹出一个框,里面是目标连接指向的内容,对文件也管用

当前安装方式

早期安装方式

  • 安装到系统组JS
MediaWiki:Group-sysop.js
  • 使用远程维基的脚本以及本地的翻译,看起来有点怪异
/* 小工具-弹出框的临时启用方式
 * 再未来移植到真正的小工具里
 */
// 载入语言文件
importScript('MediaWiki:Popups-strings-chs.js'); //森亮号翻译的中文
 
// 远程载入-维基百科Lupin的弹出插进,看起来这是新版本的需要,导入远程的,早期的是importScriptURI啥的
mw.loader.load("//en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400");

todo

  • 添加可控制的小工具选项
  • 关闭预览图的玩意,它看起来很需要thumb,虽然也不大
  • 显示目标所在的母分类听起来如何,因为有时候想遍历回去
  • 编辑框里禁止工作,因为它在那时候看起来没啥用了啊
  • 对提示框进行圆滑一点
通过border-radius来设置获得比如5px
JustCapIt5745.jpg
  • 完整移植入脚本到小工具,可选安装,显示版本,致谢作者
  • 正在翻译中-翻译一份中文语言文件
  • 做一份设置文件

@done

  • 使用css修正了它-暂时的,如果页面内容太短了,它都会点击不到菜单呢
JustCapIt5822.jpg
它的原因是显示的补充信息太少了
JustCapIt5825.jpg
或许换种fancy风格啥的能做到,但是。。不是变了吗
  • 好的好的!你把cite的关闭了-它和cite的弹出框打架了,去除cite的弹出框
JustCapIt5770.jpg

发现

  • 脚本从何开始调用的呢,看起来是这里
var popScript     = '//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-popups.js';
var popStyleSheet = '//en.wikipedia.org/w/index.php?action=raw&ctype=text/css&title=MediaWiki:Gadget-navpop.css';
if ( window.localCSS ) { popStyleSheet = 'http://localhost:8080/js/navpop.css'; }
  • 是否从共享的地方导出,有个有趣的地方
	if (page && page.imagerepository == "shared" ) {
		var art=new Title(article);
		var encart = encodeURIComponent( "File:" + art.stripNamespace() );
		var shared_url =  pg.wiki.apicommonsbase + '?format=json&callback=APIsharedImagePagePreviewHTML' +
							'&requestid=' + navpop.idNumber +
							'&action=query&prop=revisions&rvprop=content&titles=' + encart;
		if (pg.flag.isIE) {
			shared_url = shared_url + '&*'; //to circumvent https://bugzilla.wikimedia.org/show_bug.cgi?id=28840
		}

		ret = ret +'<hr>' + popupString( 'Image from Commons') +
				': <a href="' + pg.wiki.commonsbase + '?title=' + encart + '">' +
				popupString( 'Description page') + '</a>';
		importScriptURI( shared_url );
	}
  • 可以看到历史信息!哇喔!不可思议
JustCapIt5825.jpg
  • 它的全局配置都是附加到window,(没有s)这个全局的玩意里去了
JustCapIt5821.jpg
  • 预览的小图片可以点击,但是这玩意似乎依赖的是外部的缩略图,对缩略图有影响吗?
得到的就像是
http://see.sl088.com/w/images/thumb/1/18/JustCapIt5755.jpg/200px-JustCapIt5755.jpg
但是生产文件似乎很早了-MW的缩略图机制是怎样的呢?
[root@li567-57 see_sl088_com]# ls -al w/images/thumb/1/18/JustCapIt5755.jpg/200px-JustCapIt5755.jpg
-rw-r--r-- 1 apache apache 12277 Apr 21 16:59 w/images/thumb/1/18/JustCapIt5755.jpg/200px-JustCapIt5755.jpg
  • 编辑框里工作利用的是hook,看起来是hook了鼠标事件-这对效率有影响吗?
JustCapIt5764.jpg
  • 似乎莫名其妙的编辑框里也工作着,是的它能工作,选选中大概图片之类的内容,鼠标停留在上面奇怪的事情发生了吧!不可思议
JustCapIt5753.jpg
JustCapIt5754.jpg
JustCapIt5755.jpg
  • 它显示过的都会缓存在页面里
JustCapIt5744.jpg
  • 它获得目标页面的信息是截取第一个段落这样来操作的
  • 可以导入js脚本啥子的,看起来是这样
importScriptURI('//no.wikipedia.org/w/index.php?title=User:Eddideigel/strings-no.js' 
    + '&action=raw&ctype=text/javascript');
 
importScriptURI('//en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' 
    + '&action=raw&ctype=text/javascript');

有趣

  • 它看起来支持搜索,但是如何出现呢
字符串:
'globalSearchHint': 'Search across Wikipedias in different languages for %s',
'googleSearchHint': '使用Google 搜索 %s',
官方介绍文字:
Wikipedia search, global Wikipedia search and Google search
  • 直接引入进去测试,这也意味着Mediawiki可以直接引入脚本
// wikipedia:User:Lupin/popups
mw.loader.load("//en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400");
  • 看起来还不支持中文
  • 有一个很老的版本支持,但是是内嵌编译的版本,看起来这是早期小工具的风格
  • 新版本的语言文件无人翻译
  • 它的历史看起来2006年甚至之前就开始了
  • 关于翻译的页面
http://en.wikipedia.org/wiki/Wikipedia:Tools/Navigation_popups/Translatio

修改

让菜单在中文里不要折掉

症状

  • 信息太少的时候看起来折掉了
JustCapIt5822.jpg
  • 历史菜单也会折掉
JustCapIt5838.jpg

修补

/* 弹出框小工具的CSS中文补丁 */
/* 弹出框操作菜单换行 */
.navpopup .popup_drop {
	white-space: nowrap;
}
/* 弹出框历史里的中文引导换行 */
.popup_history_row_even a {
	white-space: nowrap;
}
/* 弹出框历史里的中文名字换行 */
.popup_history_row_odd a {
white-space: nowrap;
}

翻译

  • 我们的翻译语言字串文件
MediaWiki:Popups-strings-chs.js

网站

官方页面-作者页面
http://en.wikipedia.org/wiki/Wikipedia:Tools/Navigation_popups
介绍页面-有限的中文介绍
http://zh.wikipedia.org/wiki/Wikipedia:%E8%BE%85%E5%8A%A9%E5%B7%A5%E5%85%B7/popups

困扰

  • 它如何修剪目标页面来取得简要介绍呢

发现于

  • 随意的探索维基百科的时候

效果

JustCapIt5738.jpg
JustCapIt5739.jpg
JustCapIt5736.jpg
JustCapIt5737.jpg