問題タブ [webshim]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - HTML5フォームとPHPを使用して空のメールを取得する
私が管理している Web サイトには、ユーザーが入力したデータを、サイト専用の yahoo メールにメールを送信する php ファイルにプッシュする html5 フォーム フィールドがいくつかあります。
html は次のとおりです。
以前は、フィールドの検証はありませんでしたが、ユーザー コンテンツのない空のメールを受け取っていたので、何も入力せずにボタンを押しているだけだと思っていました。これは自分でもテストできます。required
そこで、次の検証 JS を追加し、サポートされていないブラウザー (および上記のフォーム要素のタグ) に対しても webshim を使用しました。
以前は、ユーザーから入力された電子メールを取得して送信者の電子メールとして設定していましたが、特定の電子メールアドレスなどに問題があったため、常に機能するランダムな電子メールにデフォルト設定し、ユーザーが入力した電子メールをメッセージ。ここに私のphpファイル(contact-us.php)があります:
最初に、すべてが機能していると言わせてください。ここで機能をテストすると、すべてが機能します。私は自分の iOS デバイスとラップトップからメールを送信することができ、Android デバイスから数人の友人に送信してもらいました。検証は機能するため、少なくとも必須フィールドに入力しないとメールを送信できません。検証を追加し、送信者の電子メールをデフォルトの電子メールに設定する前に、空の電子メールを受け取っていました。ただし、すべての変更後でも空のメールが届きます。テストするとき、すべてのプラットフォームとブラウザーでテストすることはできませんが、チェックを追加した後に空のメールを強制することはできません。私の検証はどこかで失敗していますか? 人々がフィールドに入力しているように感じますが、どういうわけか電子メールは空になっています。私が空と言うとき、プログラムでメッセージに追加したものは届くが、ユーザーが入力すると思われる実際の情報は届かないということですか? これはどのように起こっていますか?
javascript - webshim ポリフィルFirefox 57 Quantum で動作を停止しました
私が取り組んでいるプロジェクトwebshim
で<input type="datetime-local"> に使用しています。polyfilling
入力タイプは Chrome と Edge でネイティブに機能しますがwebshim
、Internet Explorer で呼び出され、バージョン 56 までの Firefox で使用されます。
2 週間前に Firefox が自動的にバージョン 57 (別名 "Quantum") に更新されるまで、すべて正常に機能していました。<input type="datetime-local"> はそのバージョンでまだネイティブにサポートされていませんが、何らかの理由で webshim もポリフィルを停止しました。プレーンテキスト入力として表示されるようになりました。
他の人が同じ問題を抱えていて、できれば解決策があるかどうかを調べるために少しグーグルで検索しましたが、役に立ちませんでした. また、datetime-local 入力タイプを使用するページをグーグルで検索しましたが、そのうちのいくつかはwebshim
as polyfill を使用しており、どこでも機能しなくなったようです。今、私は困惑しています。
ここで同じ問題に遭遇した人はいますか?おそらく解決策や回避策を見つけましたか? Firefox の開発者がすぐに <input type="datetime-local"> のサポートを追加しないと仮定し、私が何も悪いことをしていないと仮定すると、開発者がwebshim
問題を修正するのを待つ必要があるか、または別のポリフィルを探す必要があります...
webshim
その問題を修正するために更新されるかどうかを知っている人はいますか? それができない場合、他にどのポリフィルが推奨されますか? やむを得ない場合を除き、切り替えたくありません。どんな考えでも大歓迎です。
関連するコードは次のとおりです(簡潔にするために多くのものを省略しています):
どうもありがとう :)
javascript - グリースモンキーのユーザースクリプトからwebshimを機能させるには?
シムとポリフィルをページに入れるユーザースクリプトを作成しています。Webshim も含めましたが、何もしないようです。
これは私がそれを含めた方法です:
(とにかくスクリプトタグが挿入されたときに実行されるため、insertBefore-ing)
これにより、webshim が明らかに実行され、エラーは発生しません。Firefox 3.x で試してみましたが、まったく何もしないように見えることを除いて、多くのことをシムする必要があることは間違いありません。Firebug Net パネルで見ると、他の .js ファイルには接続していないようで、shim-ext.css ファイルのみに接続しているようです。ビデオ要素やその他の html5 要素が明確に含まれている Web ページにアクセスしましたが、それでも何もしませんでした。要素などに特別なクラス名を付ける必要があると思いましたが、 http://afarkas.github.io/webshim/demos/も https://github.com/aFarkas/webshimもありませんでしたまたは、私が見つけたstackoverflowの投稿またはチュートリアルでそれについて言及しています。問題は他のファイルが見つからないことだと思っていましたが、明らかにshim-ext.cssを見つけることができました。この方法でstackoverflowに含めることができました。唯一の違いは、グリースモンキーで実行したことです。
ユーザースクリプトは「document-start」で実行され、他のスクリプトの前、および要素が存在する前に実行されることを確認しました。「webshim.polyfill('forms');」のような機能を具体的にリクエストした場合 それでも機能しないか、何にも接続しません。usercript には、Webshim の前のページに ECMAScript 5 shim&sham、ECMAScript 6 shim&sham、および HTML5shiv が含まれており、すべての最新バージョンです。basePathとextendNativeを設定してもしなくても、同じです。