PHP:使用String作为Iframe的源

时间:2019-10-30 19:30:44

标签: javascript iframe

我有一个自定义的Wordpress页面,其中有2个文本input框,一个用于“ yourvarname”,另一个用于“ key”,一个iframe显示一个Google文档。

这两个文本框均由从url获得的变量填充。效果很好。

我想做什么: 让iframe以文本框中的名称yourvarname显示文档。

这是我到目前为止所拥有的

    <?php /* Template Name: CustomPageT1 */ ?>

<p><input id="yourvarname" type="text" value="" /> <input id="key" type="text" value="" />
<script type="text/javascript">// <![CDATA[
var url_string = window.location.href; //window.location.href
    var url = new URL(url_string);
    var c = url.searchParams.get("yourvarname");
    var d = url.searchParams.get("key");
    document.getElementById("yourvarname").value = c;
    document.getElementById("key").value = d;
// ]]></script>
</p>

<iframe src="https://docs.google.com/document/d/e/2PACX-1vTCJM2gUN4_aesXjEB7XtKWu0dB8anwWkjgolj1zRLU2aJieScUXF6WXzMbjYXs7g/pub?embedded=true"
width="110%"
height="500" 
class="myIframe">
<p>Hi SOF</p>
</iframe>

<script type="text/javascript" language="javascript"> 
$('.myIframe').css('height', $(window).height()+'px');
</script>"

<script type="text/javascript" language="javascript">
global $wp_query;
if (isset($wp_query->query_vars['yourvarname']))
{
print $wp_query->query_vars['yourvarname'];
}
</script>

enter code here

2 个答案:

答案 0 :(得分:0)

让我们从基本信息开始。在Javascript中,您可以像这样获得iframe

document.getElementsByTagName("iframe")

由于只有一个iframe,因此您可以这样获得它:

document.getElementsByTagName("iframe")[0]

,但是为该标签提供id可能会避免麻烦。让我们定义您的src中的iframe

document.getElementsByTagName("iframe")[0].src = "somevalue";

好的,让我们在您的脚本中应用它:

var url_string = window.location.href; //window.location.href
    var url = new URL(url_string);
    var c = url.searchParams.get("yourvarname");
    var d = url.searchParams.get("key");
    document.getElementById("yourvarname").value = document.getElementsByTagName("iframe").src = c;
    document.getElementById("key").value = d;

但是,如果要在input更改时更改它,则需要为其定义change事件。

答案 1 :(得分:0)

这就是我添加的内容,也许是错误的,因为我现在遇到404错误,什么也没显示

<script type="text/javascript" language="javascript">
document.getElementsByTagName("iframe")[0].src = "yourvarname";
var url_string = window.location.href; //window.location.href
    var url = new URL(url_string);
    var c = url.searchParams.get("yourvarname");
    var d = url.searchParams.get("key");
    document.getElementById("yourvarname").value = document.getElementsByTagName("iframe").src = c;
    document.getElementById("key").value = d;
    </script>