2014-10-11 6 views
1

Это немного запутанно. Я пытаюсь представить URL-адрес iframe на той же странице. Когда я нажимаю кнопку «Отправить», iframe дублирует текущую страницу, но правильный URL-адрес находится в реплицированном iframe. Интересно, будет ли это продолжаться вечно? Страница, на которой это происходит, - http://www.4mobilesites.com, а код ниже.Сообщение url, нацеленное на iframe, появляется в iframe iframe

<div class="mobile-logo"> 
<H2>How does your website look on a Mobile Device?</h2> 
<?php 
$keyurl = $_POST['siteurl']; 
?> 

<form method="post" target="mobileframe" > 
Enter your website's URL: <input type="text" name="siteurl" value="http://" size="50"><br> 
<input type="submit" value="VIEW"> 
</form><br> 
<a name="iframe-1"></a> 
<div class="theiframewrap"><iframe name="mobileframe" class="theiframeid" src="<?php echo "$keyurl"; ?>" id="mobileframe"></iframe></div></div> 

Если представить URL в форме, а затем прокрутите вниз немного в IFRAME и косоглазие, вы увидите правильный URL в IFRAME из фрейма.

ответ

0

Вы можете использовать простую форму сообщения, как это. Я думаю, что причиной этого является из-за целевого атрибута в этой форме. Его отправка всей страницы в iframe.

<?php 
$keyurl = ''; 
if(isset($_POST['siteurl'])) { 
    $keyurl = $_POST['siteurl']; 
    echo $keyurl; 
} 
?> 

<div class="mobile-logo"> 
    <H2>How does your website look on a Mobile Device?</h2> 
    <form method="post"> 
     Enter your website's URL: <input type="text" name="siteurl" value="http://" size="50"><br> 
     <input type="submit" value="VIEW" /> 
    </form><br> 
    <a name="iframe-1"></a> 
    <div class="theiframewrap"> 
     <iframe name="mobileframe" class="theiframeid" src="<?php echo $keyurl; ?>"></iframe> 
    </div> 
</div> 

В качестве альтернативы, можно использовать только JQuery для этого:

<div class="mobile-logo"> 
    <H2>How does your website look on a Mobile Device?</h2> 
    <form method="post"> 
     Enter your website's URL: <input type="text" name="siteurl" value="http://" size="50"><br> 
     <input type="submit" value="VIEW" /> 
    </form><br> 
    <a name="iframe-1"></a> 
    <div class="theiframewrap"> 
     <iframe name="mobileframe" class="theiframeid" src=""></iframe> 
    </div> 
</div> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 

    $('input[type="submit"]').on('click', function(e){ 
     e.preventDefault(); 
     var url = $('input[name="siteurl"]').val(); 
     $('.theiframeid').attr('src', url); 
    }); 

}); 
</script> 

Важное примечание: Не все сайты позволит вам поставить на свой Их или IFRAME. (Yahoo's и другие)

+0

Целью было прекратить всю страницу с обновления на подаче. Я могу заставить iframe работать без цели, но он обновляет страницу. – user2905145

+1

Код jquery работал как шарм. Я потратил много времени на изучение этого, и вы - спасатель. Спасибо. – user2905145

+0

@ user2905145 да, я понимаю, что вы имеете в виду, потому что происходит то, что когда вы используете эту цель, ваша страница будет той, что на src = "", а не той, которую вы отправили. в любом случае второй способ также сделает работу – Ghost

Смежные вопросы