嵌入 HTML - 每次都有一个新的 link

Embedding with HTML - With a new link each time

目前我有这个代码。

<html>

<object data=http://www.tagpro.eu width="850" height="800"> <embed src=http://www.tagpro.eu width="650" height="700"> </embed></object>

</html>

我有一个表格。

<form>
Game:<br>
<input type="text" name="firstname">
<br>
Link:<br>
<input type="text" name="lastname">
</form>

我需要什么:

如果表单,无论 link 是什么,请将嵌入网站设置为特定的 link。例如,如果我在 link 部分写入 google 并单击提交,您将在我的网站上看到 google 的网页。

谢谢!

我已经将你的代码改编成这样:

<form id="demo-form">
    Game:<br>
    <input type="text" name="game" id="game" value="bootstrap datepicker">
    <br>
    Link:<br>
    <input type="text" name="link" id="link" value="https://bootstrap-datepicker.readthedocs.org/en/latest/">
    <br />
    <input type="submit" value="Go" />
</form>

<object id="demo-object" data=https://jqueryui.com/datepicker/ width="850" height="800">
    <!--<embed src=http://www.tagpro.eu width="650" height="700"> </embed>-->
</object>

我使用了一些 javascript 如下:

document.getElementById("demo-form").onsubmit = function () {
    var game = document.getElementById("game").value;
    var link = document.getElementById("link").value;
    document.getElementById("demo-object").setAttribute('data', link)
    // Return false to prevent the default form behavior
    return false;
}

请检查fiddle。然而,这并不适用于每个站点。例如,我在尝试使用 google link 时遇到错误。此演示也适用于 Firefox 39.0 和 Internet Explorer 9,但不适用于 Chrome 43.0.2357.130。然而,在 fiddle 之外,它在 Chrome 中也有效。

如果您需要在页面刷新之间保持选择,一种可能的解决方案是使用 jquery-cookie 将选择存储在 cookie 中 代码将变化如下:

if ($.cookie("link")) {
    // Restore the last selection from cookie
    document.getElementById("link").value = $.cookie("link");
    document.getElementById("demo-object").setAttribute('data', $.cookie("link"))
}
document.getElementById("demo-form").onsubmit = function () {
    var game = document.getElementById("game").value;
    var link = document.getElementById("link").value;
    document.getElementById("demo-object").setAttribute('data', link)
    // Store the selection in a cookie
    $.cookie("link", link);
    // Return false to prevent the default form behavior
    return false;
}