تگ Iframe بدون صفت src

چهارشنبه 20 آبان 1394

دراین مقاله راجع به تگ Iframe و معایب آن صحبت خواهد شد.از این تگ برای نمایش محتوای سایت های دیگر در مکانی از سایت خودمان استفاده می شود.

تگ Iframe بدون صفت src

تگ  iframe برای نمایش محتوای یک صفحه دیگر در داخل صفحه جاری استفاده می شود.از نظر سئو این کار برای سایت شما خوب نیست .زیرا تگ های Table و Iframe توسط کرولر های موتورجستجو نادیده گرفته می شود.

عبارت iframe مخفف inline frame بوده و یکی از تگ های HTMLمی باشد .این تگ برای نمایش یک صفحه از اینترنت در سایت شما استفاده میشود. تا چند سال قبل برخی با سواستفاده از این تگ به افزایش آمار بازدید خود می پرداختند.این افراد با استفاده از iframe  صفحات و محتوای دلخواه خود را در درون صفحاتی با موضوعات نامرتبط به نمایش می گذاشتند و با این کار موتورهای جستجو را فریب میدانند، بعد هاموتور های جستجو برای این کار امتیازی منفی در نظر گرفتند و صفحات شاملIframe را با اطمینان کمتری ایندکس می کنند. اما با این حل باز هم سایت های زیادی با استفاده از این روش بازدیدکنندگان را از موتورهای جستجو جذب میکنند.

در ضمن با این کار برای آن سایتی که در صفحه خود نمایش می دهید بازدید رایگان می دهید.یعنی به ازای هر بار بازدید کاربران از سایت شما به حساب آن سایت هم بازدید خورده می شود.

در این تگ یک Attribute به نام Src وجود دارد که باید آدرس صفحه ای که قصد دارید نمایش دهید را در اینجا مشخص کنید.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="iframe.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body dir="rtl" style="background-color:azure">
    <form id="form1" runat="server">
    <div  style="margin :0 auto">
        <a href="http://barnamenevisan.org//"> <h2>برنامه نویسان :مرجع تخصصی برناهه نویسان</h2></a>
       
    <iframe src="http://www.iran-record.com" width="300" height="500">

    </iframe>
    </div>
    </form>
</body>
</html>

همانطور که در sample مقاله می بینید بعد از اجرا در iframe چیزی نمایش داده نمی شود.البته در اینجا به دلیل اینکه تکنولوژی Iframe مربوط به قبل از html5  است و آدرس صفحه ای که ما داده ایم مربوط به Html 1 است این Iframe نمایش داده می شود.ولی اگر آدرس سایتی را بدهیم که Doctype آن html5 باشد نمایش داده نخواهد شد.بعد از اجرا صفحه webForm1 به صورت زیر خواهد بود

در WebForm2  با اسکریپت نویسی یک صفحه خالی درون Iframe ایجاد می کنیم .یعنی در Src آدرس about:blank را می نویسیم و میتوانیم در داخل محتوای Iframe چیزی که مد نظر خودمان است را به کاربر نشان دهیم نه یک صفحه صرف از سایت دیگر.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="iframe.WebForm2" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Iframe بدون استفاده از Src</title>

<script type="text/javascript">
    function onTryItClick() {
        var content = document.getElementById("iframecontent").innerHTML;
        var iframe = document.getElementById("myiframeid");

        var frameDoc = iframe.document;
        if (iframe.contentWindow)
            frameDoc = iframe.contentWindow.document;

        frameDoc.open();
        frameDoc.writeln(content);
        frameDoc.close();
    }
</script>
</head>
<body dir="rtl" style="background-color:azure">
    <div id="iframecontent" style="display: none;">
        <b>سلام دوستان برنامه نویس!</b> <br /> <i>سلام دوباره !</i>
    </div>

    <div style="margin: auto; width: 80%;">
        <iframe height="100" width="80%" 
        src="about:blank" name="myiframe"
         id="myiframeid"> </iframe>
        <br />
        <button id="tryIt" onclick="onTryItClick()">Try It</button>
    </div>
</body>
</html>

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • HTML
  • 2k بازدید
  • 1 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید