js的參數有長度限制嗎?發現不能超過2083個字元

來源:互聯網
上載者:User

一個普通的javascrip函數,只有一個入口參數
複製代碼 代碼如下:
function test(info)
<img none';="" document.getelementbyid('_20_37_open_text').style.display="none" ;="" document.getelementbyid('_20_37_closed_image').style.display="inline" document.getelementbyid('_20_37_closed_text').style.display="inline" ;"="" alt="" src="http://www.bkjia.com/uploads/allimg/140421/003AWN6-0.gif" align="top" style="border: 0px; max-width: 100%; ">{
alert(info);
}

頁面用是aspx代碼產生,調用test函數的入口參數可能是一個很長的字串,同時頁面上根據一個資料集構造很多如下所示的標籤。
複製代碼 代碼如下:
<a href="javascript:test('ssssss...這裡很長..ssssss')">test</a>

頁面產生後有些連結可以點,有些不能點。用substring大致對入口參數的值處理了一下,發現不能超過2083個字元。難道js的函數參數有長度限制?從來沒有聽說過。也沒有查到相關的說法。

試著把<a>標籤,換為<button>然後再clik事件裡調用這個js函數,參數傳了全部的長度,發現沒有錯誤了...

這下頓悟,原來是<a href>惹的禍,<a href>是使用get傳遞參數,url無論如何都有2k的長度限制。即便是在這種情況下掉js函數也不能超過。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.