記錄幾個javascript有關的小細節
2024-09-06 12:42:48
供稿:網友
很多很多的事都容易在不經意間忘卻,所以我選擇記錄下來。
Firefox 不支持 obj.innerText 屬性。
obj.innerText alert()顯示的值是 undefined。
Firefox 支持 innerHTML 屬性卻不支持 innerText,如果不想用innerHTML 替代,可以用如下代碼
由于Firefox不支持document.all,所以考慮兼容的時候獲取對象通常用 document.getelementbyid('yourid').
if (document.all) { //如果不是IE
//也可以用 if(navigator.appName.indexOf("Explorer") > -1) // obj.innerText = "myText";}else { obj.textContent = "yourtext"; 用textContent 替代
}
Firefox、IE兼容的復制到剪貼板 javascript 代碼
這個函數使用在Firefox下時需要修改一個配置:
1.打開firefox ,在地址欄中輸入: about:config
2.找到signed.applets.codebase_principal_support,將值設置為true
function copyToClipboard(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);