<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                1.CORS CORS(Corss-Origin Resource Sharing,跨資源共享),基本思想是使用自定義的HTTP頭部讓瀏覽器與服務器進行溝通,從而決定請求或響應的成功或失敗。即給請求附加一個額外的Origin頭部,其中包含請求頁面的源信息(協議、域名和端口),以便服務器根據這個頭部決定是否給予響應。 2.document.domain 將頁面的document.domain設置為相同的值,頁面間可以互相訪問對方的JavaScript對象。 注意: 不能將值設置為URL中不包含的域; 松散的域名不能再設置為緊繃的域名。 3.圖像Ping var img=new Image(); img.onload=img.onerror=function(){ ... ... } img.src="url?name=value"; 請求數據通過查詢字符串的形式發送,響應可以是任意內容,通常是像素圖或204響應。 圖像Ping最常用于跟蹤用戶點擊頁面或動態廣告曝光次數。 缺點: 只能發送GET請求; 無法訪問服務器的響應文本,只能用于瀏覽器與服務器間的單向通信。 4.Jsonp var script=document.createElement("script"); script.src="url?callback=handleResponse"; document.body.insertBefore(script,document.body.firstChild); JSONP由兩部分組成:回調函數和數據 回調函數是接收到響應時應該在頁面中調用的函數,其名字一般在請求中指定。 數據是傳入回調函數中的JSON數據。 優點: 能夠直接訪問響應文本,可用于瀏覽器與服務器間的雙向通信。 缺點: JSONP從其他域中加載代碼執行,其他域可能不安全; 難以確定JSONP請求是否失敗。 5.Comet Comet可實現服務器向瀏覽器推送數據。 Comet是實現方式:長輪詢和流 短輪詢即瀏覽器定時向服務器發送請求,看有沒有數據更新。 長輪詢即瀏覽器向服務器發送一個請求,然后服務器一直保持連接打開,直到有數據可發送。發送完數據后,瀏覽器關閉連接,隨即又向服務器發起一個新請求。其優點是所有瀏覽器都支持,使用XHR對象和setTimeout()即可實現。 流即瀏覽器向服務器發送一個請求,而服務器保持連接打開,然后周期性地向瀏覽器發送數據,頁面的整個生命周期內只使用一個HTTP連接。 6.WebSocket WebSocket可在一個單獨的持久連接上提供全雙工、雙向通信。 WebSocket使用自定義協議,未加密的連接時ws://;加密的鏈接是wss://。 var webSocket=new WebSocket("ws://"); webSocket.send(message); webSocket.onmessage=function(event){ var data=event.data; ... .... } 注意: 必須給WebSocket構造函數傳入絕對URL; WebSocket可以打開任何站點的連接,是否會與某個域中的頁面通信,完全取決于服務器; WebSocket只能發送純文本數據,對于復雜的數據結構,在發送之前必須進行序列化JSON.stringify(message))。 優點: 在客戶端和服務器之間發送非常少的數據,減少字節開銷。 promise 在 JavaScript 的異步進化史中,涌現出一系列解決 callback 弊端的庫,而 Promise 成為了最終的勝者,并成功地被引入了 ES6 中。它將提供了一個更好的“線性”書寫方式,并解決了異步異常只能在當前回調中被捕獲的問題。 Promise 就像一個中介,它承諾會將一個可信任的異步結果返回。首先 Promise 和異步接口簽訂一個協議,成功時,調用resolve函數通知 Promise,異常時,調用reject通知 Promise。另一方面 Promise 和 callback 也簽訂一個協議,由 Promise 在將來返回可信任的值給then和catch中注冊的 callback。 // 創建一個 Promise 實例(異步接口和 Promise 簽訂協議) var promise = new Promise(function (resolve,reject) { ajax('url',resolve,reject); }); // 調用實例的 then catch 方法 (成功回調、異常回調與 Promise 簽訂協議) promise.then(function(value) { // success }).catch(function (error) { // error }) 判斷瀏覽器是否支持css3某個屬性 function isPropertySupported(property) { return property in document.body.style; } RegExp JavaScript RegExp 對象有 3 個方法:test()、exec() 和 compile()。 (1) test() 方法用來檢測一個字符串是否匹配某個正則表達式,如果匹配成功,返回 true ,否則返回 false; (2) exec() 方法用來檢索字符串中與正則表達式匹配的值。exec() 方法返回一個數組,其中存放匹配的結果。如果未找到匹配的值,則返回 null; (3) compile() 方法可以在腳本執行過程中編譯正則表達式,也可以改變已有表達式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看