jQuery - 禁用/删除iframe中的javascript

时间:2017-10-09 07:13:46

标签: javascript jquery html iframe

我的页面中有一个iframe,代码如下:

...
<script  language="javascript"  type="text/javascript">

    function clearMessage() {
       window.print();
    }

    $(function () {
        var state=0;
        if (state==1) {
            window.print();
            window.opener.location = window.opener.location.href;
        }

        var sentToPrint=0;
        if (sentToPrint==1)
        {
            window.print();
            window.opener.location = window.opener.location.href;
        }

    });

    window.onunload = refreshParent;
    function refreshParent() {
        if (('1') == '1') {
            window.opener.location = window.opener.location.href;
            //window.opener.location = 'mainPage.aspx'
        }
    }
</script>
...

基本上它的作用是在表单提交上打印页面,或者如果我有 URL中的“print = 1”,在我的情况下,我发送“print = 0”,因为我不想打印iframe。

所以我想禁用这个部分或者使用jQuery从我的父页面删除这个部分。

有没有办法禁用打印功能或将其从iframe中删除?

谢谢你!

2 个答案:

答案 0 :(得分:0)

如果您不想打印iframe部分,请使用打印介质查询@media print在打印时隐藏该iframe

@media print {
   iframe {
      display: none;
   }
}

答案 1 :(得分:0)

最后,我找到了如何在不打印页面的情况下提交表单, 我只是复制了iframe的输入并使用ajax

提交了表单
$('#myFrame').one('load', function(){
    var eventTriger     = $("#myFrame").contents().find("#__EVENTTARGET").val();
    var eventArgu       = $("#myFrame").contents().find("#__EVENTARGUMENT").val();
    var viewState       = $("#myFrame").contents().find("#__VIEWSTATE").val();

    var json = {
        '__EVENTTARGET'     : eventTriger,
        '__EVENTARGUMENT'   : eventArgu,
        '__VIEWSTATE'       : viewState
    };

    var request = $.ajax({
      url: "url",
      type: "POST",
      data: json,
      dataType: "html"
    });
});