日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

js頁面文字選中后分享到新浪微博實(shí)現(xiàn)

系統(tǒng) 2135 0

一、功能簡述

正是微博如火如荼的時(shí)節(jié),其中各個(gè)微博的分享功能是網(wǎng)站推廣產(chǎn)品的好東東啊,此時(shí)如何方便快捷的使用微博的分享功能就顯得比較重要了。我的站點(diǎn)每篇文章的底部有一些分享的鏈接:
文章底部的一些分享功能 張鑫旭-鑫空間-鑫生活

不過我覺得這些分享基本上就是聾子的耳朵——擺設(shè)。除非這篇文章驚天地、泣鬼神,痛徹心扉,穿越前世今生。但是,如果有更加方便快捷的分享方式,這種冷淡得讓人結(jié)冰的場面或許就不會(huì)經(jīng)常出現(xiàn)。

一般翻譯軟件都有劃詞翻譯功能,例如有道桌面詞典的桌面劃詞翻譯功能:
有道桌面詞典劃詞翻譯設(shè)置截圖 張鑫旭-鑫空間-鑫生活

啟用后,隨便選中那個(gè)軟件的一段文字,就會(huì)出現(xiàn)類似這樣子的浮動(dòng)提示框:
劃詞翻譯功能示例截圖 張鑫旭-鑫空間-鑫生活

在web頁面上,我們也是可以實(shí)現(xiàn)類似的效果的:劃詞→顯示提示→分享。這就是本文要展示的內(nèi)容。

?

二、效果與demo

demo
您可以狠狠地點(diǎn)擊這里: js文字選中分享到新浪微博demo

demo頁面的文字是我點(diǎn)兵點(diǎn)將隨機(jī)找的篇博客內(nèi)容,純粹示例。隨便選擇一段文字,結(jié)果就會(huì)出現(xiàn)個(gè)新浪的怪眼睛logo,如下圖:
demo頁面文字選擇后 張鑫旭-鑫空間-鑫生活

然后,點(diǎn)擊那個(gè)晃啊晃的猥瑣的眼睛,就實(shí)現(xiàn)了選中文字分享到新浪微博的功能啦——會(huì)打開個(gè)新頁面——如下效果:
分享到新浪微博功能實(shí)現(xiàn)之截圖 張鑫旭-鑫空間-鑫生活

是不是分享起來很簡單很方便啊!

其實(shí)呢,本篇文章所在的頁面本身就是個(gè)demo,你使用鼠標(biāo)選中一段文字看看,哦呵呵,是不是有反應(yīng)啊,不要猶豫,果斷分享吧。 //zxx:如果您發(fā)現(xiàn)并沒有此效果,同時(shí)您沒有禁用javascript,那么,您可能是在rss閱讀器中或是在其他邪門歪道的網(wǎng)站上閱讀本文,點(diǎn)擊或?yàn)g覽器地址欄中輸入以下地址 http://www.zhangxinxu.com/wordpress/?p=1428 可以看到分享功能。

?

三、方法與代碼

選中即分享的功能看上去比較高級(jí),其實(shí)實(shí)現(xiàn)是相當(dāng)簡單的。其中的會(huì)讓人頭大,一般人也不感興趣的原理這里就直接跳過。這個(gè)js文字選中后分享到新浪 微博的功能我簡單的封裝了下,方法名是:$sinaMiniBlogShare,當(dāng)然,您不喜歡可以換掉,甚至不要,此方法完整代碼如下:

      var $sinaMiniBlogShare = function(eleShare, eleContainer) {
	var eleTitle = document.getElementsByTagName("title")[0];
	eleContainer = eleContainer || document;
	var funGetSelectTxt = function() {
		var txt = "";
		if(document.selection) {
			txt = document.selection.createRange().text;	// IE
		} else {
			txt = document.getSelection();
		}
		return txt.toString();
	};
	eleContainer.onmouseup = function(e) {
		e = e || window.event;
		var txt = funGetSelectTxt(), sh = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
		var left = (e.clientX - 40 < 0) ? e.clientX + 20 : e.clientX - 40, top = (e.clientY - 40 < 0) ? e.clientY + sh + 20 : e.clientY + sh - 40;
		if (txt) {
			eleShare.style.display = "inline";
			eleShare.style.left = left + "px";
			eleShare.style.top = top + "px";
		} else {
			eleShare.style.display = "none";
		}
	};
	eleShare.onclick = function() {
		var txt = funGetSelectTxt(), title = (eleTitle && eleTitle.innerHTML)? eleTitle.innerHTML : "未命名頁面";
		if (txt) {
			window.open('http://v.t.sina.com.cn/share/share.php?title=' + txt + '→來自頁面"' + title + '"的文字片段&url=' + window.location.href);	
		}
	};
};
    

?

可以看到$sinaMiniBlogShare方法有兩個(gè)參數(shù),eleShare和eleContainer,其中,前一個(gè)參數(shù)是必須的,指的是文 字選中后出現(xiàn)的浮動(dòng)層元素(在本文demo中就是新浪眼睛圖標(biāo));后面一個(gè)參數(shù)指文字選擇的容器元素,可選參數(shù),如果不設(shè)置則指document元素,也 就是整個(gè)頁面文字選中都會(huì)觸發(fā)分享的功能。

假設(shè)新浪微博分享圖標(biāo)的HTML如下:

      <img id="imgSinaShare" class="img_sina_share" title="將選中內(nèi)容分享到新浪微博" src="http://simg.sinajs.cn/blog7style/images/common/share.gif" />
    

?

則直接:

      $sinaMiniBlogShare(document.getElementById("imgSinaShare"));
    

?

就實(shí)現(xiàn)了選中文字分享到新浪微博的功能了。

這里的方法沒有兼容性問題,IE之流,firefox或是chrome瀏覽器可以輕松分享;另外,方法原生的javascript代碼,不依賴于任何庫,所以,只要瀏覽器不禁用javascript,哪里都可以使用,真可謂方便快捷,無孔不入,網(wǎng)頁開發(fā),必備良藥。

?

四、結(jié)語及補(bǔ)充

其實(shí)呢,此方法不僅支持新浪微博,支持企鵝微博(騰訊微博),狐貍微博(搜狐微博),也是可以的,只要根據(jù)各個(gè)微博分享頁面的API地址,將 window.open()中的地址換換就可以了,我想,應(yīng)該很簡單的。您要是有興致,可以把這些亂七八糟的分享都集合到一個(gè)方法中,做出插件性質(zhì)的,各 個(gè)網(wǎng)站任意分享,通過參數(shù)接口靈活控制,估計(jì)會(huì)流行的。不過我個(gè)人不太喜歡選中一段文字后面跟著個(gè)浮動(dòng)的跟屁蟲,尤其是大大的跟屁蟲,看著眼煩,無興趣, 所以,我是不會(huì)去整一個(gè)分享集合的插件的。

時(shí)間倉促,技術(shù)有限,文中出現(xiàn)表述不準(zhǔn)確的地方在所難免,歡迎指正。

?

來自 張鑫旭-鑫空間-鑫生活 [ http://www.zhangxinxu.com ]
本文地址: http://www.zhangxinxu.com/wordpress/?p=1428

?

justcoding.ikeetstudying.com

?

?

?

?

?

js頁面文字選中后分享到新浪微博實(shí)現(xiàn)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 景宁| 新兴县| 宕昌县| 保亭| 玉龙| 柘荣县| 黎平县| 澎湖县| 辽源市| 邢台县| 永修县| 鸡东县| 肥西县| 武川县| 湟源县| 抚州市| 中阳县| 米易县| 元江| 大悟县| 嘉义县| 鱼台县| 彰化县| 沐川县| 于田县| 高要市| 保亭| 迁西县| 大安市| 滕州市| 荃湾区| 江城| 嘉黎县| 泾源县| 哈巴河县| 临漳县| 错那县| 潢川县| 广丰县| 镇巴县| 邛崃市|