【问题标题】:Change font inside an iframe [duplicate]更改 iframe 内的字体 [重复]
【发布时间】:2014-11-15 19:14:09
【问题描述】:

我有一个带有iframe 的HTML 页面。我想更改 iframe 内容的样式,但我似乎无法这样做。

我想将iframe 中所有内容的字体更改为“Tahoma”。这是我的代码:

<!DOCTYPE>

<html>
<head>

<title>phpinfo()</title>
<style type="text/css">
#outerdiv
{
width:446px;
height:246px;
overflow:hidden;
position:relative;
}

#inneriframe
{
position:absolute;
top: -508px;
left: 0px;
width: 100%;
height: 615px;
font-family: Tahoma;
}
</style>

<script>
onload = function()
{
 document.frm.document.body.style.fontFamily = "Tahoma";
}
</script>

</head>

<body>
<div id='outerdiv '>
<iframe  name="iframe" src="http://m.sarafikish.com" id='inneriframe' name="frm" scrolling=no frameborder="0"  > </iframe>
</div>    
</body></html>

【问题讨论】:

    标签: javascript html css iframe


    【解决方案1】:

    这只有在iframesrc 设置为同一域上的页面或满足Same-Origin Policy 时才有可能。您的问题没有说明您是否满足这些要求,但如果满足,您可以使用contentDocument property of the iframe 通过 JavaScript 操作 iframe。

    示例:

    document.getElementById("inneriframe").contentDocument.body.style.fontFamily = "Tahoma";
    

    【讨论】:

      【解决方案2】:
      var frame = $('#frameId');
      frame.load(function () {
          frame.contents().find('body').css('font-family', 'Arial');
      }
      

      如果你想使用自定义字体:

      var frame = $('#frameId');
      frame.load(function () {
          var head = frame.contents().find('head');
          $('<link/>', {
              rel: "stylesheet",
              type: "text/css",
              href: "/url/to/style_with_fonts.css"
          }).appendTo(head);
          frame.contents().find('body').css('font-family', 'Custom Font');
      }
      

      【讨论】:

        猜你喜欢
        • 2013-05-15
        • 1970-01-01
        • 2019-07-26
        • 2020-01-19
        • 2011-05-26
        • 1970-01-01
        • 1970-01-01
        • 2023-04-11
        • 2011-08-04
        相关资源
        最近更新 更多