ロボットから保護するスクリプトタグを使用して、Web上で電子メールを公開できるWebAppはありますか?
より明確にするために、選択可能かつコピー可能なテキストとして画面上に私の電子メールを印刷するが、HTMLソースコードからそれを隠すBlogspotに投稿を公開したい。これはスパム対策技術です。
ソリューションは、サーバーから電子メールアドレスを取得するか、既存のデータから電子メールアドレスを復号化するJavaScriptであると思います。ソリューションがサーバー側のプログラミングを必要としない場合、これはプログラミングの質問になる可能性がありますが、これについてはわかりません。
コードを生成するサイトがたくさんあります。通常、電子メールアドレスをいくつかの変数に分割し、それらを画面に書き込みます。簡単な例:
<script type="text/javascript">
dot = "."
part1 = "john"
part2 = "doe"
part3 = "gma"
part4 = "il"
part5 = "co"
part6 = "m"
document.write( part1 + dot + part2 + "@" + part3 + part4 + dot + part5 + part6
//returns [email protected]
</script>
より複雑なオプションは、各文字をHTML要素に変換します。
チェックアウト http://www.mobilefish.com/services/hideemail/hideemail.php#hideemail_input 例として
Hivelogic enkoder を使用します。
VB関数を使用してメールアドレスを生成します。アドレスをUTF-8または16進数にエンコードします。希望する任意の言語に変換できます。これはVB.NETコードです。
' Convert An Input String To Unicode Character Codes
Public Enum CloakType
UTF8_1
UTF8_2
HEX_1
HEX_2
UniCode
End Enum
Public Function CloakIt(ByVal inTxt As String, ByVal iType As CloakType) As String
Dim iInd As Integer
Dim sOut As String
sOut = ""
If Len(inTxt) = 0 Then
CloakIt = ""
Exit Function
End If
For iInd = 1 To Len(inTxt)
Select Case iType
Case CloakType.UTF8_2 ', 2
' Long UTF-8 encoding without semicolons
sOut = sOut & "&#" & Right("0000000" & CStr(Asc(Mid(inTxt, iInd, 1))), 7)
Case CloakType.HEX_1 ', 3
' Hex encoding without semicolons
sOut = sOut & "&#x" & Hex(Asc(Mid(inTxt, iInd, 1)))
Case CloakType.HEX_2 ', 4
' Hex encoding with semicolons
sOut = sOut & "&#x" & Hex(Asc(Mid(inTxt, iInd, 1))) & ";"
Case CloakType.UniCode ', 5
' Unicode 2 Byte Hex encoding with semicolons
sOut = sOut & "�" & Hex(Asc(Mid(inTxt, iInd, 1))) & ";"
Case Else
' UTF-8 Unicode Encoding
sOut = sOut & "&#" & CStr(Asc(Mid(inTxt, iInd, 1))) & ";"
End Select
Next
CloakIt = sOut
End Function