一个自动生成Opera按钮的按钮(更新-2010-01-08)
js是个好东西,可惜看上去好难的样子,到现在我基本上就只会用documnet.write(),不过即使就这一个代码,在我看来也可以实现强大的功能。今天如发奇想,就用它写了一个快速生成按钮的按钮。(嗯,好像确实有点绕口)。(Update: 由于找到了一个很好的办法,所以没再用js了。)
Update(2009-12-30): 找到了不用js的方法,觉得更好,所以就不用js了。下面是两种按钮:
功能就是在地址栏输入命令,点击这个按钮之后就会自动为你生成按钮,命令如下:
Update(2010-01-08): 做了一些改进,解决了当按钮中有单引号出现错误的问题,并显示按钮的内容。又不得不用js,还好又学了一些。新的代码如下
Button Maker:
focus address field,,,Make Button,Window Mail Compose Icon & copy & new page,,,,Window Mail Compose Icon & go to page,"javascript:var macro=prompt('','');" & delay,10 & paste & click default button & go to page,"javascript:function HTMLEncode (input){var converter = document.createElement('div');converter.innerText = input;var output = converter.innerHTML;converter = null;return output;}document.write('<html><head><style type=\'text/css\'>body{background-color:black}.icon{background-image:-o-skin(\'window browser icon\');width:30px;display:inline-block;}.button{font-size:30px;font-weight:bold;text-align:center;margin-top:10%;}a:link,a:visited{color:white;font-size:30px;}.macro{text-align:center;color:white;font-size:12px;margin:30px;}</style></head><body><div class=\'button\'><p><span class=\'icon\'> </span><a href=\'opera:/button/'+escape(macro)+'\'>Your Button</a></p></div><div class=\'macro\'><p>'+HTMLEncode(macro)+'</p></div></body></html>');"
同时还写了另外一个按钮,和上面的不同,但你点击这个按钮时会弹出一个对话框,在其中输入命令,回车后生成按钮:
Button Maker
delay,1,,Make Button,Window Mail Compose Icon & new page & go to page,"javascript:var macro=prompt('Type or paste your commands here','');function HTMLEncode (input){var converter = document.createElement('div');converter.innerText = input;var output = converter.innerHTML;converter = null;return output;}document.write('<html><head><style type=\'text/css\'>body{background-color:black}.icon{background-image:-o-skin(\'window browser icon\');width:30px;display:inline-block;}.button{font-size:30px;font-weight:bold;text-align:center;margin-top:10%;}a:link,a:visited{color:white;font-size:30px;}.macro{text-align:center;color:white;font-size:12px;margin:30px;}</style></head><body><div class=\'button\'><p><span class=\'icon\'> </span><a href=\'opera:/button/'+escape(macro)+'\'>Your Button</a></p></div><div class=\'macro\'><p>'+HTMLEncode(macro)+'</p></div></body></html>');"
为了方便,建议把它放在地址栏的旁边,联系上一篇文章,当然把它放在Go to page的对话里好像更不错,所以你可以把上一篇文章结尾处的代码替换成:
[Go To Page Dialog]
Title = DI_HENTURL
Group, 0, , 10, 10, 330, 55, Size right, End
Label, D_GOTOPAGE_ENTER_WEBADDR, label_for_Address_field, 0, 30, 330, 25, Fixed
Address, 0, Address_field, 0, 60, 330, 25, Size right
Edit, 0, Nick_field, 0, 60, 330, 25, Size right
Button, Add Proxy, , 0, 0, 60, 25, Size left=delay,1 & focus previous widget & select all & copy & deselect all & cancel & go to page, "opera:config#proxy|httpserver" & delay, 1000 & select all & paste & focus next widget & focus next widget & paste & focus address field & insert, "opera:config#proxy" & go & focus previous widget & focus previous widget & click button & delay, 10 & ok
Button, ISP, , 70, 0, 40, 25, Size left=delay,1 & focus previous widget & focus previous widget & select all & copy & deselect all & cancel & go to page, "opera:config#ISP|Id" & delay, 1000 & select all & paste & focus next widget & focus next widget & click button & delay, 10 & ok
Button, History Search,, 120, 0, 90, 25, Size left=delay,1 & focus previous widget & focus previous widget & focus previous widget & go to line start & insert,"opera:historysearch?q=" & select all & copy & cancel & delay,1 & new page & delay,1 & paste & go
Button, Make Button,,220,0,80,25,size left=focus address field,,,Make Button,Window Mail Compose Icon & copy & new page,,,,Window Mail Compose Icon & go to page, "javascript:document.write('<html><head><style type=\'text/css\'>body{background-color:black}.icon{background-image:-o-skin(\'window browser icon\');width:30px;display:inline-block;}.button{font-size:30px;font-weight:bold;text-align:center;margin-top:20%;}a:link,a:visited{color:white;font-size:30px;}</style></head><body><div class=\'button\'><p><span class=\'icon\'> </span><a href=\'opera:/button/%c\' >Your Button</a></p></div></body></html>');"
REPLY))
看到js我就头晕
虽然知道很好用,不过比较不是搞这些的,没什么耐心来学
我是用cs发的ButtonMaker.html来贴按钮
REPLY))
@A.shun, 是我懒,我懒得在css中去添加。不过按钮的内容好像在Google Reader里显示不出来
REPLY))
@jude,
你的按钮样式我在gr能看到啊
REPLY))
@A.shun, 图标是能看到,但按钮里面的内容似乎看不到,就是opera:/button/之后的
REPLY))
@jude,
可以收到了
REPLY))
发现你的按钮图标是个前景图片,而我是加载css设定的背景图片
你的可以在feed中显示,不过我太懒了,哈