2011-11-29 99 views
0

在試圖建立一個網站時,我經歷了許多在線教程。感謝這些網站和stackoverflow,我得到了東西和運行。然而,出於好奇,當我查看其他專業網站的來源時,腳本看起來更加複雜。我在這裏列舉了幾個例子:使用XML在我的web專業網站

  1. Im和我從網上教程的網站閱讀,爲了使用JavaScript來操作XML數據,我們首先需要將XML文檔轉換成DOM對象,使用代碼片段是這樣的:

    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET","books.xml",false); xmlhttp.send(); xmlDoc=xmlhttp.responseXML;

我已經檢查使用XML的幾個專業網站,但我沒有看到這樣的代碼存在。他們可以將代碼隱藏在某些外部文件中嗎?

  1. 在另一個網站上,當我檢查源,它使用了大量有趣的值,如這樣的:

    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="vDzFWVcOVLrtEQSDGPTcYv1RQRqWyN+jKq3DtdY1Q95kqTQ36 .......

這是什麼意思呢?爲什麼有這個必要?

  1. 另一個我經常在專業網站上看到的叫做「google-analytics」的東西。那是什麼?

我的網站工作得很好,但我擔心我可能錯過了某些我可能不知道的東西。請幫我解決這個問題。非常感謝!

+2

你可能想把它分解成一些個別的問題。 – Bert

回答

2

您的第一個以if (window.XMLHttpRequest)開頭的代碼塊是用於執行Ajax調用(從遠程服務器請求數據)的跨瀏覽器代碼。這種類型的代碼通常位於外部JavaScript文件中(瀏覽器可以在網站的所有頁面上更適當地緩存)。如果您使用像YUI或jQuery這樣的客戶端框架,這種類型的代碼將在該框架中。如果您在網頁上進行ajax調用,您只需要此代碼。

有趣的變量名稱可能是某些服務器端框架生成的服務器端的東西。人類不太可能手動在手動創建的HTML中創建這樣的名稱。這些名稱對服務器端框架有意義 - 它們不是您需要模擬的東西。

Google-Analytics是Google提供的visitor tracking and site reporting tool。在Google上進行快速搜索會爲您提供儘可能多的信息。

+0

謝謝大家!欣賞它。 :) – schenker

2

您的window.XMLHttpRequest的片段關於使用AJAX,瞭解它。但是你不需要使用它。

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="vDzFWVcOVLrtEQSDGPTcYv1RQRqWyN+jKq3DtdY1Q95kqTQ36

只是垃圾傾倒入由ASP.NET的HTML文檔。你沒有這個事實是一件好事,這是一個骯髒的黑客。

谷歌,分析

谷歌分析爲你注入到你的頁面使用谷歌的分析工具,一個小片段。這意味着你可以看到你的頁面訪問量等信息

林在我的網站使用XML和我從網上教程的網站,爲了使用JavaScript來操作XML數據,我們首先需要將XML文檔轉換讀到一個DOM對象,使用如下代碼片段:

您不使用XML,您使用的是HTML。要操縱HTML,您需要使用DOM apis。

+0

對惡意黑客評論進行投票。你可能不喜歡它,它可能不是所有情況下最好的方法,但有大量可行的網站使用webforms。 – Bert

+0

@BertEvans對不起,但VIEWSTATE是一個骯髒的黑客。我並不反對這個概念,但我反對在每次請求時發送整個狀態的實現。 – Raynos

+0

因爲打字「你的」而不是「你是」而拒絕投票。開玩笑!調用骯髒的黑客並不排除它是一種可行或實用的解決方案。 –