導航:首頁 > 編程語言 > js實現點擊復制地址

js實現點擊復制地址

發布時間:2024-01-19 21:20:14

① 如何利用js實現復制/粘貼功能

1、最基本的復制
代碼
<script language="javaScript">
function readTxt()
{
alert(window.clipboardData.getData("text"));
}
function setTxt()
{
var t=document.getElementById("txt");
t.select();
window.clipboardData.setData('text',t.createTextRange().text);
}
</script>
<input name="txt" value="測試">
<input type="button" value="復制" onclick="setTxt()">
<input type="button" value="讀取" onclick="readTxt()">
2、擴展復制:復製表格
Java代碼
<INPUT TYPE="button" value="選中測試表格" onclick="CopyTable()">
測試
<TABLE border="1" id="oTable">
<TR>
<TD>測試表格</TD>
<TD>測試表格</TD>
</TR>
<TR>
<TD>測試表格</TD>
<TD>測試表格</TD>
</TR>
</TABLE>文字
<SCRIPT LANGUAGE="JavaScript">
<!--
function CopyTable()
{
var txt = document.body.createTextRange();
txt.moveToElementText(document.getElementById('oTable'));
txt.select();
}
//-->
</SCRIPT>
、兼容IE,firefox等瀏覽器的復制
Java代碼
<script>
function ToClipboard(txt) {
if(window.clipboardData) {
window.clipboardData.clearData();
window.clipboardData.setData("Text", txt);
} else if(navigator.userAgent.indexOf("Opera") != -1) {
window.location = txt;
} else if (window.netscape) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) {
alert("被瀏覽器拒絕!\n請在瀏覽器地址欄輸入'about:config'並回車\n然後將'signed.applets.codebase_principal_support'設置為'true'");
}
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip)
return;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans)
return;
trans.addDataFlavor('text/unicode');
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var text = txt;
str.data = text;
trans.setTransferData("text/unicode",str,text.length*2);
var clipid = Components.interfaces.nsIClipboard;
if (!clip)
return false;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
}
</script>
<button onclick="ToClipboard('你好!');">復制文本「你好!」</button>
<textarea id="test"></textarea>

② JS實現內容復制功能

復制是一個使用頻率特別高的操作,在網頁中,一般可以選中要復制的內容,使用快捷鍵 ctrl+c 將內容復制到剪貼板。除了使用系統提供的快捷方式復制網頁內容,我們還可以用JS實現復制,這得益於document的 execCommand('') 命令。

實現整個復制功能,需要以下三個步驟:

大部分HTML元素都有innerText和innerHTML兩個屬性,innerText屬性返迴文本內容,innerHTML屬性返回標簽元素。我們可以創建一個函數,用於獲取需要返回的內容:

上面的selectText函數接收一個DOM元素,返回DOM元素的innerText屬性值。

我們可以通過表單元素的select()方法選中內容,表單元素因為textarea限制少於input,所以推薦使用textarea。我們可以動態創建一個textarea元素,將textarea的value屬性值設置為上面的innerText屬性值,再執行textarea的select方法選中。

上面實現了選中,下面就可以實現復制功能了。

最後一步就可以用execCommand('')實現復制了,它可以復制瀏覽器中選中的文本,比如說上面被textarea選中的文本,復制之後記得移除textarea。

第二步和第三步可以優化一下,創建一個函數,函數參數設置為第一步需要復制的文本,返回值為復制的結果。

完整JS示例如下:

可以將上面的完整JS示例寫入一個JS文件,將JS文件引入HTML中,通過JS點擊事件來執行復制函數。

效果圖:

③ JS如何實現手機復制功能

  1. JS是無法讀取剪切板數據的,也就是說JS無法實現這個功能。

  2. 實現這樣的功能需要藉助一falsh插件來完成,可以找下falsh網頁復制插件,這些插件都會有相關的代碼,可以直接使用。

④ 求大神幫忙提取DZ論壇 點擊復制鏈接 彈出復制窗口的JS代碼。

<body>
<script>
//因為alert有阻塞效果,當一個alert顯示的時候,其他的alert都要等待
//所以在window裡面放置一個消息隊列。
window.msgQueue = [];
//alert開關,表示當前是否有alert顯示。
window.alert_on = false;

//重寫alert函數
window.alert = function(){
//如果alert('_no_message_')被本函數內部使用
//所以忽略alert('_no_message_')
if(arguments[0]!='_no_message_'){
window.msgQueue[window.msgQueue.length] = arguments[0];
}
//如果當前alert正在被調用,則返回
if(window.alert_on==true){
return;
}
else{
//如果得不到alert_div,則說明彈出層和遮蓋層還沒有構建,則構建他們
if(!document.getElementById('alert_div')){
var div = document.createElement('div');
div.id = 'alert_div';
with(div.style){
height = '50px';
width = '200px';
position = 'absolute';
left = '300px';
top = '300px';
backgroundColor = 'lightyellow';
border = 'solid #ccc 1px';
zIndex = '1000';
display = 'none';
margin = '0px';
padding = '0px';
}
//關閉彈出層函數
window.closeAlert = function(){
document.getElementById('alert_div').style.display = 'none';
document.getElementById('alert_mask').style.display = 'none';
window.alert_on = false;
status = 'queue length: ' + window.msgQueue.length;
if(window.msgQueue.length>0){
window.alert('_no_message_');
}
}
div.innerHTML = "<div style='font-size: 9pt;height: 25px; padding: 5px; background-color: dodgerblue; color: #fff;' align='right'><a style='color: #fff;text-decoration: none;' alt='Close' href='#' onclick = 'closeAlert();'>X</a></div><div style='padding: 5px;' id='alert_text_div'></div>"
var mask = document.createElement('div');
mask.id='alert_mask';
with(mask.style){
height = document.body.clientHeight;
width = document.body.clientWidth;
position = 'absolute';
left = '0';
top = '0';
backgroundColor = '#ccc';
zIndex = 999;
display = 'none';
filter = 'alpha(opacity=50)';
}
document.body.appendChild(div);
document.body.appendChild(mask);
}
if(window.msgQueue.length>0){
var div = document.getElementById('alert_div');
var mask = document.getElementById('alert_mask');
var txtDiv = document.getElementById('alert_text_div');
div.style.display = '';
mask.style.display = '';
window.alert_on = true;
//取消息隊列第一條顯示出來。
txtDiv.innerText = window.msgQueue.shift();
}
}
}
</script>
<div style=" width:100px; height:100px; border:1px solid #000;"><a href="#" onclick="alert('你點了我。');">點我測試</a></div>
<script>
//test case.
</script>
</body>
這是修改alert的代碼,剩下的就是布局問題了,你把布局布得像圖片那樣,就行了!

⑤ JS點擊超鏈接復制代碼

<a id="Fcode" href="javascript:window.clipboardData.setData('Text',document.getElementById('Fcode').innerHTML);alert('已復制到剪貼板!');">復制代碼</a>hk

⑥ JS裡面如何加入點擊復制代碼

復制,一般都是講一個元素的value或是html賦值到另一個元素的value或是html。下面是簡單代碼實現:
html部分:

<inputtype="button"value="顯示div1的內容"id="btn"/>
<divid="div1"style="display:none">div1</div>
<divid="div2"style="display:none">div2</div>
<divid="show-box"></div>

js部分

vardiv1=document.getElementById("div1");
vardiv2=document.getElementById("div2");
varbtn=document.getElementById("btn");
varshowBox=document.getElementById("show-box");
//方法一:將div中的值賦值到一個用於顯示的框中(showBox)
varflag=true;
btn.onclick=function(){
if(flag){
showBox.innerHTML=div1.innerHTML;
btn.value="顯示div2的內容"
flag=false;
}else{
showBox.innerHTML=div2.innerHTML;
btn.value="顯示div1的內容"
flag=true;
}
}

//方法二:用按鈕控制div1,div2的顯示隱藏
varflag=true;
btn.onclick=function(){
if(flag){
div1.style.display="block";
div2.style.display="none";
btn.value="顯示div2的內容"
flag=false;
}else{
div2.style.display="block";
div1.style.display="none";
btn.value="顯示div1的內容"
flag=true;
}
}

閱讀全文

與js實現點擊復制地址相關的資料

熱點內容
mdfldf是什麼文件 瀏覽:569
文件在桌面怎麼刪除干凈 瀏覽:439
馬蘭士67cd機版本 瀏覽:542
javaweb爬蟲程序 瀏覽:537
word中千位分隔符 瀏覽:392
迷你編程七天任務的地圖怎麼過 瀏覽:844
word2003格式不對 瀏覽:86
百度雲怎麼編輯文件在哪裡 瀏覽:304
起名app數據哪裡來的 瀏覽:888
微信怎麼去泡妞 瀏覽:52
百度廣告html代碼 瀏覽:244
qq瀏覽器轉換完成後的文件在哪裡 瀏覽:623
jsp中的session 瀏覽:621
壓縮完了文件去哪裡找 瀏覽:380
武裝突襲3浩方聯機版本 瀏覽:674
網路機頂盒移動網路 瀏覽:391
iphone手機百度雲怎麼保存到qq 瀏覽:148
資料庫設計與實踐讀後感 瀏覽:112
js對象是什麼 瀏覽:744
網頁文件存pdf 瀏覽:567

友情鏈接