2017-03-23 2 views
0

クリックしたリンクに応じて異なるソースでiframeを起動したいと思っていました。私は、私は別のリンクをクリックすることができる状況に到着し、私は私が以下のようにハードコードと同じインラインフレームを、発射する管理:jQueryFunctionでiFrameに変数を渡す方法

これはどのような作品です:

 $('.myLink').click(function(){ 
     var myFile = $(this).attr('videofile'); 
     var myPost = $(this).attr('myfile'); 
     var myWidth = Number($(this).attr('mywidth')); 
     var myHeight = Number($(this).attr('myheight')); 

     var myCode = '<iframe height="800" width="800"   
     src="https://www.duolingo.com/" allowfullscreen></iframe>'; 

     $('#myPlayer').html(myCode);` 

しかし、私が渡したいとき私のiframeに私の変数を入れて、異なるソース、高さ、幅を指定された変数に適用することができます。変数がうまく定義されていても動作しません。それを受け入れないiframeです。

 $('.myLink').click(function(){ 
     var myFile = $(this).attr('myfile'); 
     var myPost = $(this).attr('myfile'); 
     var myWidth = Number($(this).attr('mywidth')); 
     var myHeight = Number($(this).attr('myheight')); 

     var myCode = '<iframe height="+'myHeight'+" width="+'myWidth'+" 
     src="+'myFile'+" allowfullscreen></iframe>'; 

     $('#myPlayer').html(myCode);` 

`

私の質問は、私はインラインフレームワークを作るためにmyCode変数に上記のやったように私は、IFRAMEへのmyFile、myWidth、myHeight変数を渡すことができるようにmyCode変数に/書き込みコードを変更する方法です?私は変数を渡す方法ではうまくいかず、正しく渡したと確信しています。

答えて

0

私はあなたの引用符は少し混乱していると思います。 ES6はtemplate literalsを導入しました。提案のおかげでは、しかし、それはまだ動作しません、IFRAMEが何の値が渡されなかったかのようにトリガーされます

const height = 100; 
const width = 500; 
$('#foo').html(`<iframe height="${height}" width="${width}" src="https://www.bing.com"></iframe>`); 

https://jsfiddle.net/y19ma974/3/

+0

:ここ

は、あなたが(HOHO)をいじることができるものです。しかし、ソース(src = "https://www.bing.com")をハードコードするとiframeは機能しますが、幅と高さの変数は適用されません。ちょうど私の引用符の場合と同様に、うまくいけば、変数が正常に渡された他のコードを起動することができたからです。それはiframeでうまく動作しません。 iframeはjQuery内で変数を渡すことが許されないようです – Voytek

関連する問題