0

以下のコードがあります。テキスト領域に値のリストを配置します。iframe は行の値をハードコードされた URL に連結し、[次へ] をクリックすると次の行の値を連結する必要があります。前の行の値をクリックすると。

<HTML>
<Head>
<button>Previous</button>
<button>Next</button>
<textarea rows="10" cols="20">
Values here
</textarea>
</br>
</head>
<body>
<iframe src="http://www.domain.com/"*&rowValue from the textarea* height="1200px" width="1200px">
  <p>Your browser does not support iframes.</p>
</iframe>
</body>
</HTML>

@Adeneoが返信した後のコードは次のとおりです。参照を使用して作成したコードは次のとおりですが、どうにかして動作させることができません。また、可能であれば、現在 iframe の上に表示されている ASIN をスクリプトで表示することはできますか?

<HTML>
<Head>
<button id="prev">Previous</button>
<button id="next">Next</button>
<textarea rows="10" cols="20" value="">
ASINs here
</textarea>
<button id="go">Go</button>
<br/>
</head>
<body>
<iframe id="myframe" src="http://www.amazon.co.uk/dp/" height="100%" width="100%">
  <p>Your browser does not support iframes.</p>
</iframe>
<script>var domain='http://www.amazon.co.uk/dp/';

$('#prev, #next').on('click', function(e) {
    var Myval = $('textarea').val().split('\n'),
        now = $('#myframe').attr('src').replace(domain, '');
    if (Myval.indexOf(now)==-1) {
        var src=domain+Myval[0];
    }else{
        var p = Myval.indexOf(now)!==0 ? Myval.indexOf(now)-1 : Myval.length-1,
            n = Myval.indexOf(now)==(Myval.length-1) ? 0 : Myval.indexOf(now)+1,
            src = e.target.id=='next' ? domain+Myval[n] : domain+Myval[p];
    }
    $("#myframe").attr('src', src);
    console.log(src);
});
?
</script>
</body>
</HTML>

どうもありがとうございます!

4

1 に答える 1

0

たぶん、次のようなものが役立ちます:

var domain='http://www.domain.com/'; //could also be gotten from src attr.

$('#prev, #next').on('click', function(e) {
    var Myval = $('textarea').val().split('\n'),
        now = $('#myframe').attr('src').replace(domain, '');
    if (Myval.indexOf(now)==-1) {
        var src=domain+Myval[0];
    }else{
        var p = Myval.indexOf(now)!==0 ? Myval.indexOf(now)-1 : Myval.length-1,
            n = Myval.indexOf(now)==(Myval.length-1) ? 0 : Myval.indexOf(now)+1,
            src = e.target.id=='next' ? domain+Myval[n] : domain+Myval[p];
    }
    $("#myframe").attr('src', src);
});

フィドル

また、ドキュメントの head セクションに HTML を配置しないでください。doctypes、head、body などを読んでください。

于 2012-04-20T12:52:50.560 に答える