本地存儲功能是瀏覽器提供的一種在瀏覽器上保存數據的機制。其中,localStorage、sessionStorage和cookie是最常用的本地存儲方法。
localStorage
特點包括保存、獲取和刪除數據。數據的保存和獲取使用相同的JavaScript方法。
sessionStorage
同樣具備保存、獲取和刪除數據的特點,但其數據在會話結束時自動清除。
cookie
具備存儲、獲取和刪除數據的功能,但只支持字元串類型,有固定格式。存儲大小有限制,通常為4KB左右。默認存儲時效為會話級別,可手動設置過期時間。操作需要伺服器支持,頁面在伺服器打開時才可操作。能跟隨前後端請求自動攜帶,任何後端語言均可操作,但存儲依賴特定域名,不能跨域名通訊。
cookie的操作
設置cookie使用語法:document.cookie = 'key=value'。
獲取cookie使用語法:document.cookie,返回完整cookie字元串。
總結,本地存儲功能在JavaScript中提供了在瀏覽器上保存數據的多種方式,包括localStorage、sessionStorage和cookie。每種方式各有特點,需根據具體需求選擇合適的方法進行數據保存與操作。
❷ 如何使用javascript生成txt格式文件保存到本地,要求跨瀏覽器支持,怎麼做呢
最近看到好幾個人問這問題了,其實要實現並不難,而且還是跨瀏覽器的,但並不完美。
IE是通過ActiveXObject,前提是瀏覽者的安全設置中允許此項且同意使用。
Firefox/Chrome/Safari/Opera是通過a元素的href屬性,加上base64數據來實現(dataURI)。
下面的代碼在IE6-9,Firefox19,Chrome26,Safari5.0.5,Opera12.15測試通過。
【注意】base64函數和完整代碼在空間:hi..com/keneks/item/a8b10b04fd862f016c904813
js"><script type="text/javascript">
/* var Base64 = {}; */
window.onload = function() {
var save = document.getElementById("save");
// IE
if(/msie/i.test(navigator.userAgent)) {
save.onclick = function() {
var path = prompt("輸入保存路徑和文件名", "C:\test.txt");
var content = document.getElementById("content").value;
content = content.replace(/ /g, " ");
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile(path, true);
s.WriteLine(content);
s.Close();
};
}
// Firefox/Chrome/Safari/Opera
else {
// 滑鼠經過 a 的時候就開始 base64 編碼
save.onmouseover = function() {
var content = document.getElementById("content").value;
this.setAttribute("href",
"data:application/octet-stream;base64,"
+ Base64.encode(content));
};
}
};
</script>
❸ 如何用javascript保存網頁中的一個img到本地
把 images/card.jpg 換成你要保存的那個img標簽的src屬性值就行了。
<html>
<head>
<script language="javascript">
function saveit(src)
{
I1.document.location=src;
savepic();
}
function savepic()
{
if(I1.document.readyState=="complete")
I1.document.execCommand("saveas");
else
window.setTimeout("savepic()",10);
}
</script>
</head>
<body>
<input type="button" value="保存圖片" name="B1" onclick="javascript:saveit('images/card.jpg');">
<iframe name="I1" style="display:none"></iframe>
</body>
</html>
❹ javascript 網頁截圖 保存為本地圖片
可以做得到。註明:內容非原創。學習javascript的時候覺得好就保存下來的文章:
html2canvas是一個相當不錯的JavaScript類庫,它使用了html5和css3的一些新功能特性,實現了在客戶端對網頁進行截圖的功
能。html2canvas通過獲取頁面的DOM和元素的樣式信息,並將其渲染成canvas圖片,從而實現給頁面截圖的功能。
它不需要來自伺服器任何渲染,整張圖片都是在客戶端瀏覽器創建。當瀏覽器不支持Canvas時,將採用Flashcanvas或
ExplorerCanvas技術代替實現。以下瀏覽器能夠很好的支持該腳本:Firefox 3.5+, Google Chrome,
Opera新的版本, IE9以上的瀏覽器。
因為每個瀏覽器渲染頁面的方式都不盡相同,所以生成的圖片也不太一樣。雖然它目前還是處理開發階段,但還是很值得期待的。
這個插件依賴於jQuery插件,建議使用最新版的。
兼容性
html2canvas能在以下的瀏覽器中完美的運行。
- Firefox 3.5+
- Chrome
- Opera
- IE9使用方法
1、引入文件
首先我們需要引入jQuery庫和html2canvas插件文件,注意html2canvas插件文件一定要在jQuery的後面引入,不然會報錯。
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript"
src="http://html2canvas.hertzen.com/build/html2canvas.js"></script>
2、調用插件
通過html2canvas方法調用插件,該方法接受兩個參數,第一個為要生成截圖的DOM元素,第二個參數為插件的配置
html2canvas(document.body,{allowTaint:true,taintTest:false,
onrendered:function(canvas){canvas.id="mycanvas";
//document.body.appendChild(canvas);//生成base64圖片數據vardataUrl=
canvas.toDataURL();varnewImg=document.createElement("img");
newImg.src=dataUrl;document.body.appendChild(newImg);}});
通過一個回調函數來處理獲取到的截圖。
圖片跨域問題
在網頁的圖片中,如果有跨域圖片,調用toDataURL的時候會出錯
SecurityError: The operation is insecure.
解決方法是在跨域的伺服器上設置header設置為允許跨域請求
access-control-allow-origin: * access-control-allow-credentials: true
官網主頁: http://html2canvas.hertzen.com/
本站文章除註明轉載外,均為本站原創或翻譯,歡迎任何形式的轉載,但請務必註明出處,尊重他人勞動共創和諧網路環境。
轉載請註明:文章轉載自:問說 » html2canvas根據DOM元素樣式實現網頁截圖
本文標題:html2canvas根據DOM元素樣式實現網頁截圖
本文地址:http://www.uedsc.com/html2canvas.html
原文鏈接:http://www.uedsc.com/html2canvas.html
❺ javascript能實現將網頁上的內容以txt格式保存到本地,並從本地txt讀取數據以懸浮窗輸出到網頁嗎
HTML5中可以用javascript訪問localstorage進行存儲,相當於本地資料庫。
但非HTML5的話,由於許可權問題,javascript不能存取本地文件。