答え
いいえ、jSHint は任意の文字列コンテンツや文字列内の HTML タグの禁止をサポートしていません。また、作成者は将来的にパブリック API を追加することについて話し合っていますが、現時点ではカスタム ルールもサポートしていません。
WHYに関する私の推測(私はインサイダーではないので)
あなたが提案している解決策 (あらゆるシナリオで HTML タグを許可しない) では、js で HTML を作成することについてどのように感じているかに関係なく、さまざまな非常に有効なユースケースが許可されません。それがあなたのチームがやりたいことであることは理解していますが、そのような鈍い力のルールは、残りの jsHints ルールの一般的な適用性を持ちません。彼らの焦点は、スタイル ルールの適用にあります。文字列内のすべての HTML タグを禁止しているため、これは実際にはスタイル バリデーションよりもコンテンツ バリデーションに近いものです。これにより、 DOM インジェクション/関心の分離に関係のない次のコンテンツの例が削除されます。
例えば:
var example="I'm writing a report on <div> tags and css";
また
var htmlStrippedText = text.replace("<div>","");
私のアドバイス
もちろん、幅広い適用性の欠如は、あなたがこれをしない理由にはなりません。このようなコンテンツを本当にフィルタリングしたい場合は、コマンド ライン スクリプトを使用して正規表現で検索します。HTMLが有効かどうかではなく、HTMLがあるかどうかのみを確認したいので、フォーム内のものを検索するだけ<[div|span|body|html...
でdocument.createElement
問題ありません(ただし、コメント)。nodejs を使用して JS でスクリプトを実行しないでください。そうしないと、それ自体の検証に失敗します。:)
もちろん、これは決心した開発者を止めるものではありません:
var topSecretDOMObject,topSecretFunction,topSecretArgument;
topSecretFunction = "create"+"Element";
topSecretArgument = "d" + "i" + "v";
topSecretDOMObject = document[topSecretFunction](topSecretArgument);