簡體   English   中英

如果禁用了javascript,請隱藏表單

[英]Hide form if javascript disabled

如果用戶從瀏覽器或防火牆或其他任何他永遠不會顯示表單的地方禁用JavaScript,我需要檢查禁用JavaScript。 我有很多搜索和解決方案,但遺憾的是沒有找到合適的搜索和解決方案。 - 使用帶有無腳本標簽的樣式:這個可能會因刪除樣式而破壞...

<noscript>
<style type="text/css">
.HideClass {
display:none;
}
</style>
</noscript>


過去的代碼可以正常工作,但是在這里沒有腳本標記存在很多問題

除此之外我不想重定向用戶也沒有腳本標簽...除此之外,我可以快速停止加載頁面以打破此元或從IE禁用Meta標簽:
<meta http-equiv="refresh" content="0; URL=Frm_JavaScriptDisable.aspx" />

使用JavaScript重定向用戶的另一種方法,但這對99%的用戶來說都是可行的,而且這個方法並不可愛,並會減慢網站的速度......
window.location="http://www.location.com/page.aspx";

是否有任何其他想法或建議來確保使用JavaScript ...並阻止用戶進入網站或查看我的表單,除非啟用JavaScript ...

聽起來你在某種程度上依賴於javascript的安全性(基於安全標記和客戶可以繞過你的方案的各種解決方案的描述)。

這不是一個好主意 - 您不能依賴客戶端正確執行您的JavaScript,即使它已啟用。 復雜的用戶可以將他們喜歡的任何http方法發送到您的網絡服務器,無論您為他們提供什么。 他們還可以偽裝成任何具有任何功能(腳本,腳本等)的客戶端,並且您無法可靠地判斷他們報告的功能是否准確。

因此,使其可用/有吸引力,並且不要擔心高級用戶可能會繞過您的計划 - 無論客戶提出什么要求,都要確保您的網站是安全的。

使用jQuery的東西:

例1:

<div id='form_placeholder'></div>

<script type='text/javascript'>

var form='<form><input type="text" name="cat"/><input type="submit" value="submit" name="submit"/></form>';

$(document).ready(function(){

    $('#form_placeholder').html(form);

});

</script>

如果啟用了javascript,則腳本應顯示該表單。

或者干脆

例2:

<div id='form_placeholder' style='display:none'>
<form>
<input type="text" name="cat"/>
<input type="submit" value="submit" name="submit"/>
</form>
</div>

<script type='text/javascript'>

 $(document).ready(function(){

        $('#form_placeholder').show();

    });

</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM