2016-06-13 10 views
0

特定のHTML部分を読み込むAjax関数があります。場合によっては、結果を別のウィンドウ(または、もしあればタブ)に表示する必要があります。私はアンカー要素のhref属性でその関数呼び出しを含めると、私はその動作を取得することができます:javacript関数の結果を新しいタブに読み込む方法

<a href="javascript:viewInternalDocument('AF7GH209')" target="_blank">Related document</> 

しかし、私はwindow.openを呼び出すことによって、手動でそれを行うにしようと、私は空白のタブを取得:

window.open("javascript:viewInternalDocument('AF7GH209')","_blank"); 

実際、_blank引数を省略しても、新しいタブが開きます。

あなたは私のviewInternalDocument機能が何をするのか疑問に思うならば、ここでの内部だ:

function viewInternalDoc(docID) { 
    var url = "/Cabinet/ViewInternalDocument"; 
    var args = { docID: docID}; 
    $.get(url, args, function (html) { 
     $('#divContentHierarchy').html(html); 
    }).fail(function() { 
     alert('Error loading selected document') 
    }); 
} 

私はwindow.open('javascript:alert("Hello")')をしようとすると、私は(再び、「_blank」を省略)新しいタブでアラートを取得することができます。では、私の機能の結果を表示しない問題は何ですか?

EDIT:私は、その機能がアンカー要素でも機能しないことに気付きました。私は何とか混乱した。そのために残念。

答えて

1

あなたは、新しいウィンドウを作成してコンテンツを取得し、jQueryを使ってウィンドウにコンテンツを挿入することができます。

var w = window.open(); 
    $(w.document.body).html(viewInternalDocument('AF7GH209')); 

またはvanillaJSと:

var w = window.open(); 
w.document.body.innerHTML = viewInternalDocument('AF7GH209'); 
関連する問題