我正在尝试更改iframe的一个网址(从MVC视图打开),其中包含另一个网站的域网址。当我尝试检索iframe对象时,我无法得到它。这是我尝试过的不同方式。最终,我只想在关闭时更改iframe的url。
更新:当我尝试使用传递的网址获取iframe时,我在iframe的调试器中收到“权限被拒绝”错误。
$(document).on('click', '.ui-dialog-titlebar-close', function () {
var id = 'frame1';
var iframe = document.frames ? document.frames[id] : document.getElementById(id);
var x = document.getElementById(id);
var z = $(id);
//doAlert();
});
@using (Html.BeginActionLinkDialog(new DialogOptions()
{
OpenURL = @Model.TitleManagerURL,
OpenDialogWithIFrame = true,
Title = "Title Manager",
Resizable = true,
Height = "500",
Width = "1200",
TargetDialogId = "xx"
}, new { @id = "id1", @class = "edition_sub_link" }))
答案 0 :(得分:0)
使用以下代码更改点击事件的iFrame网址。
您的iFrame:
<iframe id="iframeLanding" width="100%" scrolling="no" height="500px" > </iframe>
这里的菜单仅用于例如(可能是任何东西)具有不同的域名网址:
<Div>
<a href="https://www.google.com" class='menu' />
<a href="https://www.stackoverflow.com" class='menu' />
</Div>
更新iFrame网址并调整其大小的代码。
$(document).on('click', '.menu', function(event) {
event.preventDefault();
var url = $(this).attr("href");
$('#iframeLanding').attr('src', url);
setTimeout("iframeLoad()", 3000);
});
function iframeLoad(){
resizeIFrame();
$("#iframeLanding").load(reSizeIFrame);
}
function resizeIFrame() {
try {
var helpFrame = jQuery("#iframeLanding");
var innerDoc = (helpFrame.get(0).contentDocument) ? helpFrame.get(0).contentDocument : helpFrame.get(0).contentWindow.document;
helpFrame.height(innerDoc.body.scrollHeight + 35);
} catch (e) { var g = 1; }
}