1

コードは、手動で F12 を押すまで機能しません。ドキュメント モード: IE9 標準をヒットすると、それが機能することが決定されます。 ) 私は IE がくだらないことを知っていますが、残念ながら私には選択の余地がありません。私のターゲット ユーザーは、IE9 標準に変更するのに数秒もかかることを好みません。これは私のコードです(ブックマークレットです)

javascript:(function(){
    a=document.createElement('script');
    a.setAttribute('src','//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js');
    document.body.appendChild(a);
    data='[["#txtapplicantlname","agrawal","text"],["#txtapplicantfname","aayush","text"],["#txtfather","Ranjan","text"],["#txtmother","Neelam","text"],["#txtPincode","452010","text"],["#txtPhone","2147483647","text"],["#txtEmail","aayush@mail.com","text"],["#rdosex_0,#rdosex_1","1","radio"]]';
    for(a=$.parseJSON(data),b=a.length-1;0<=b;b--){
        c=a[b];
        if (c[2] == 'text') {
            console.log(c);
            $(c[0]).val(c[1]);
        } else if (c[2] == 'radio'){
            rdata = c[0].split(',');
            rnum = c[1] - 1;
            select = rdata[rnum];
            $(select).prop('checked', true);
            console.log(select);
        }
    }
})();

注: 誰かが疑問に思っている場合に備えて、ブックマークレットは動的に生成されるため、data 変数はそのように json として渡されます。それが動作する Web サイトは HTTPS であるため、サーバーに対して ajax 呼び出しを行うことができないか、ブロックされます。その仕事は、Webフォームをほぼ埋めることであり、そのたびに一意のブックマークレットを生成します。他のブラウザは正常に動作しますが、Internet Explorer は壊れるのが大好きです.ラジオ ボタンのコードを追加する直前に、コードは別の方法で機能しました.コンソールで言及されているので、.prop と関係があると思います..

4

2 に答える 2

2

コンソールが開かれるまで、IE は console.log を認識しません。console.logへの変更を修正するには

window.console && console.log(...)
于 2013-05-14T14:20:01.807 に答える
0

ページを開くたびに、ブラウザーは常に下位バージョンの IE に移行しているようです。これを解決する方法は、ユーザーに IE ブラウザーの最大バージョン/Chrome バージョンを強制的にロードさせたい場合は、タグの後に次のタグを実装する必要があることです<html>

   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

これを行うと、ブラウザが IE9 標準で読み込まれるようになります

<meta http-equiv="X-UA-Compatible" content="IE=9">
于 2013-05-14T14:22:02.283 に答える