18

内部にiframeを含むダイアログを作成していますが、問題はIE8で境界線が表示され続けることです。これは、他のブラウザーでも完全に機能します。

これは私が試したことです、私もborder:noneを試しました

$(d.dialog).find('#MyCoolDialogInner').html('<iframe src="/apex/EscalationForm?id={!Case.Id}" height="495" width="380" marginheight="0" marginwidth="0" frameborder="0"/>'); 

前もって感謝します

4

5 に答える 5

47

frameBorder属性を追加します(大文字の「B」に注意してください)。

したがって、次のようになります。

<iframe frameBorder="0">Browser not compatible.</iframe>
于 2012-09-13T20:50:19.690 に答える
4

CSSで設定してみましたか?

iframe {
    border:0px none transparent !important;
}

また、これらも機能しているようです- marginheight="0" marginwidth="0" frameborder="0"同じIEの問題に関するこの投稿から引用。

于 2012-09-13T20:48:33.893 に答える
2

これを試して:

<iframe frameborder="no" />
于 2012-09-13T20:48:42.840 に答える
1

IE8は、iFRAMESに関しては厄介なものだと思います。「Frameborder」はHTML5で非推奨になっているため、IE8にとって最も簡単なオプションですが、これは長期的な解決策ではありません。

コンテナ内にiFRAMEを配置することで、境界線とスクロールバーを正常に非表示にしました。iFRAMEコンテナ自体は、Webページ上で全体的に配置するためにdiv内に配置されます。iFRAME自体は絶対位置にあり、上下の境界線を非表示にするために、上下の両方に負のマージンが適用されます。絶対位置にあるiFRAMEの幅と高さは100%を超えてコーディングする必要があります。これにより、親のサイズを超えて、右と下の境界線が表示されなくなります(スクロールバーも表示されなくなります)。この手法では、iFRAMEコンテナがパーセンテージと、コンテナを保持するdivを使用するため、iFrameの応答性も向上します。もちろん、iFRAMEの親divはoverflow:hiddenに設定する必要があります。

コード例は次のとおりです。

    /*THE PARENT DIV FOR THE iFRAME CONTAINER*/
    .calcontainer
        {
        width:100%;  /*adjust iFrame shrinking here - if floating use percentage until no white space around image.*/   
        max-width:200px;     
        margin:auto;     
        }


    /*THE RELATIVE POSITIONED CONTAINER FOR THE iFRAME*/

    .calinside  /*container for iFRAME - contents will size huge if the container is not contained and sized*/
        {   
        position:relative; /*causes this to be the parent for the absolute iFRAME*/
        padding-bottom: 100%; /* This is the aspect ratio width to height ratio*/
        height: 0;
        overflow:hidden; /*hides the parts of the iFRAME that overflow due to negative margins and over 100% sizing*/     
        }


/*THE ABSOLUTE POSITIONED iFRAME contents WITH NEGATIVE MARGINS AND OVER 100% SIZE IS CODED HERE.  SEE THE NORMAL SETTINGS VERSUS THE IE8 SETTINGS AS MARKED.  A SEPARATE CSS FILE IS NEEDED FOR IE8 WITH A CONDITIONAL STATEMENT IN THE HEAD OF YOUR HTML DOCUMENT/WEB PAGE*/

    .calinside iframe
        {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;/*must expand to hide white space to the right and below.  Hidden overflow by parent above*/
        height: 103% !important; /*must expand to hide white space to the right and below.  Hidden overflow by parent above*/
        /*IE8*/top: -2%;
        /*IE8*/left: -2%;   
        /*IE8*/width: 114% !important;/*For IE8 hides right border and scroll bar area that is white*/  
        /*IE8*/height: 105% !important; /*hide white space and border below.  Hidden overflow by parent above*/          
        }
于 2014-12-13T23:43:16.437 に答える
0

frameborder1aまたは、である可能性がありますが、0「no」が有効な値であるかどうかはわかりません。Codaはコーディング中に有効な値のオプションを提供し、iframeに対してこれを行う場合は1と0のみを使用できます。

于 2014-02-12T21:30:00.543 に答える