【问题标题】:Echo the src value of an iframe on a page在页面上回显 iframe 的 src 值
【发布时间】:2016-11-10 10:16:21
【问题描述】:

如果我有一个名为“index.php”的文件,并且该文件包含很多 HTML 行...

还有(index.php)有这个 iframe:

<iframe src="http://test.com" />

我如何使用 PHP 来获取 src,即“http:/test.com”......所以它会是这样的:

$getiframesrc=THE_CODE_WHICH_I_WANT_SOMEONE_TO_TELL_ME_ABOUT_IT;

我可以通过echo $getiframesrc;轻松回显iFrame的src

例如:如果我想使用 PHP 制作浏览器,我希望 URL 地址框的文本是 iframe src 的值(这只是一个示例!!!)

所以,请大家告诉我应该是什么:

“THE_CODE_WHICH_I_WANT_SOMEONE_TO_TELL_ME_ABOUT_IT”。

编辑:$getiframesrc 也将在index.php 中!

谢谢 :-)

【问题讨论】:

  • 你想从哪里使用$getiframesrc?
  • @ZakariaAcharki - 我不明白你的意思,你能解释一下吗? :) 编辑:$getiframesrc 也将在 index.php 中!
  • 好的,我知道您想在索引中使用它,但是如果您不描述上下文为什么以及如何使用它,就很难回答您的问题..
  • 例如:如果我想用 PHP 做一个浏览器,我希望 URL 地址框的文本是 iframe src 的值(这只是一个例子!!!)

标签: javascript php jquery html iframe


【解决方案1】:

这是一个有效的示例 -- 并确保关闭您的 &lt;iframe&gt; 标记。

$('button').click(function(){
  var src = $('iframe').attr('src');
  alert( src );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<button>Read iframe src</button>

<iframe src="http://test.com"></iframe>

要在页面的其他位置重用src 变量,只需在$('button').click(function() 函数之外声明它——甚至在$(document).ready() fn 之外。


编辑:

要将变量数据发送到 PHP... 到 javascript 运行时,DOM 已经被渲染。 PHP 已完成执行,不会在该页面上再次运行。

那么,该怎么办?如何将变量导入PHP?你有两个选择:

(1) 使用表单——提交表单时,数据被发送到&lt;form&gt;开始标签上的action=属性中指定的PHP文件:

<form action="your_secondary_php_file.php" method="post">

表单的缺点是用户被导航离开页面,或者(至少)页面被刷新。

(2) 使用 AJAX。 AJAX(非常简单,不用担心)会将您的数据发送到后端 PHP 文件,PHP 文件可以使用该数据执行某些操作,然后它可以(可选)将新数据/HTML/文本/任何内容发送回AJAX 代码块。

使用 AJAX 的优势 - 不会刷新或离开当前页面。所有用户输入的数据都保持原样,您可以以编程方式从 PHP 端接收数据,并使用新数据动态更新页面。 魔法的另一个名字。

This answer contains some simple examples 的 AJAX。

【讨论】:

  • 我们可以用 PHP 实现吗?我不希望单击按钮并显示 src... 我将使用 if($getiframesrc=='test.com') { } 像这样:/
  • +1 根据您的第一个示例,我想出了如何使用 PHP 做到这一点:D 非常感谢...(标记为已选择的答案)。
  • 你可以在 PHP 中完成整个事情如果你可以在页面完成渲染之前完成(即交给用户) 否则,一旦渲染了 DOM,你必须使用 javascript/jQuery/AJAX。
  • 谢谢 - 很乐意提供帮助。
【解决方案2】:

你可以使用ajax和jquery获取src值然后发送到php文件

jQuery

$(document).ready(function(){
var vidsrc = $("#iframeid").attr("src");
        $.post( "index.php", { videosource: vidsrc });  
});

index.php

if (isset($_POST["videosource"]))
{
$videosource = $_POST["videosource"];
// code to be excuted
}

【讨论】:

  • @gibberish 非常感谢您
【解决方案3】:

首先,非常感谢@gibberish (gibberish) 的回答,这对我来说是最好的答案,我现在正在使用它:-)。

我想出了如何使用 PHP 来做到这一点(感谢 @gibberish 的帮助,因为他的示例帮助了我。) - 但抱歉:/ 我不能说我是怎么做到的,因为它的编码非常硬(一切都是手动的)在那)......所以我会简化它并发布答案:-)

在@gibberish 答案旁边,我们可以使用PHP GET 变量并使用它设置iFrame src。

例子:

index.php 中的 PHP 部分:

<?php
$iframesrc=$_GET['iframesrc'];
?>

index.php 中的 HTML 部分:

<iframe src=<?php echo $iframesrc; ?>></iframe>

然后我们可以访问 http://Mysite.tld/index.php?iframesrc=http://test.com ;)


所以现在,我可以很好地编码了——就像这样:

if($iframesrc !=="http://test.com")
{
            //code
}

【讨论】:

    猜你喜欢
    • 2013-02-10
    • 2023-03-12
    • 1970-01-01
    • 2012-04-15
    • 2012-12-04
    • 1970-01-01
    • 2013-05-21
    • 2017-08-28
    • 2011-11-15
    相关资源
    最近更新 更多