Go Link через iFrame - PullRequest
       10

Go Link через iFrame

1 голос
/ 11 мая 2011

У меня проблема, и я попытался щелкнуть ссылку, чтобы открыть ссылку с помощью target: name iFrame, не получилось.я не хочу использовать href , потому что я собираюсь сделать show / hide div.

Javascript:

<script type="text/javascript">
<!--//
function godirect(url, targetname)
{
document.getElementById(targetname).src = url;
//frame[targetname].location.href = url;
}
//-->
</script>

в HTML и PHP:

$a=0;

echo '<a href="#" onclick="godirect("http://www.google.com", iframe_url'.$a.');">Click Me!</a>';

echo '<iframe class="iframe_url" id="iframe_url'.$a.'"></iframe>';

Ответы [ 3 ]

1 голос
/ 11 мая 2011

Как насчет

<script type="text/javascript">
function godirect(url, targetname) {
  window.frames[targetname].location = url;
  //OR 
  //window.open(url,targetname);
  return false;
}
</script>

<?PHP 
$a=0;
?>
<a href="#" onclick="return godirect('http://www.google.com', 'iframe_url<? echo $a; ?>');">Click Me!</a>
<iframe class="iframe_url" name="iframe_url<? echo $a; ?>" id="iframe_url<? echo $a; ?>"></iframe>
0 голосов
/ 11 мая 2011

Попробуйте это:

echo '<a href=\"#\" onclick=\"godirect(\"http:\/\/www.google.com\", iframe_url'.$a.');\">Click Me!</a>';
echo '<iframe class=\"iframe_url\" id=\"iframe_url'.$a.'\"></iframe>';
0 голосов
/ 11 мая 2011

Вы должны указать строки в JavaScript. Вы пытаетесь получить идентификатор элемента, передав переменную, которую вы не определили.

Вы также используете те же символы кавычек для ограничения значения атрибута HTML, что и для разделения строк JS.

Чтобы использовать подход, который вы используете, внося при этом минимальное количество исправлений, чтобы он работал:

echo '<a href="#" onclick="godirect(&quot;http://www.google.com&quot;, &quot;iframe_url'.$a.'&quot;);">Click Me!</a>';

Использование JS для этого является, в первую очередь, очень глупой идеей, и ваша реализация не может иметь какой-либо запасной вариант, когда JS недоступен (что странно, поскольку вы предпринимаете шаги, чтобы остановить браузеры, которые не t распознает элемент сценария из , представляющий JS как текст содержимого ).

Вы можете сделать это с простым HTML:

<a href="http://www.google.com" 
   target="iframe_url<?php echo htmlspecialchars($a); ?>">
   Click Me!
</a>

Я не хочу использовать href, потому что я собираюсь сделать show / hide div.

Вы можете сделать это, а также иметь нормальную, работающую ссылку. Основывайтесь на том, что работает .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...