繁体   English   中英

将文本链接到另一个页面

[英]Link text to another page

我重新编辑了这个问题,因为我不确定这些答案中的任何一个是否合适。

这是一个代码(index.html):

<textarea id="myInput1" class="one" name="myInput1" readonly>
One
One
One</textarea>
</div> 

我需要什么:

我需要另一个页面 (text.html),通过更改我将能够编辑此页面的文本。

所以如果页面(text.html)会显示:textarea = Two Two Two

(index.html) 中的 textarea 也会相应地更新和更改。

您需要知道的第一件事是您需要 jQuery,更具体地说,它的load()函数可以让您将数据从同一域中的其他页面加载到另一个页面上

您需要像这样包含 jQuery 库:

<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>

您可以使用jQuery.load()函数从另一个页面获取数据

$("#<parent div>").load(<content id>);

这是一个完整的例子:

索引.html

    <textarea id="myInput1" class="one" name="myInput1" readonly>
        One
        One
        One
    </textarea>
    <p><a href='text.html'>link to next Page</a><p>

文本.html:

<head>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
</head>
<body>
    <div id='content'>
    
    </div>  
    <script>
        $( "#content" ).load( "index.html #myInput1" )
    </script>
</body>

这有几个步骤。

首先,您需要使您传递的文本可用于您将其传递到的页面。

传统的方法是将其编码到 URL 的查询字符串中。

<a href="mypage?text=One">One</a>

请注意,这很容易受到CSRF 的影响,因此如果目标页面支持任意文本,那么第三方可以链接到您的页面,并将他们喜欢的任何(例如攻击性、欺诈性或诽谤性)内容显示给点击链接的人,除非您采取防止这种情况发生的步骤。

如果您正在使用纯客户端 JavaScript,那么您可以将其存储在localStorage 中 但是,这受到竞争条件的影响,因此如果有人点击多个页面并返回显示链接提供内容的页面,那么他们将从点击的最新链接中获取文本,即使在另一个页面中也是如此标签。


其次,您需要从放置的任何位置读取数据。 此问题涵盖使用客户端 JS 读取查询字符串值

如果您使用的是服务器端 JS,那么您可能正在使用 Express,在这种情况下,您可以使用request.query属性

(之前关于 localStorage 的链接显示了如何使用它进行读写)。


第三,您需要将其插入到页面中。 MDN 有一个使用客户端 JS 操作文档的指南

如果在服务器端执行此操作,那么您应该使用具有合适转义功能的模板引擎来防止XSS


请注意,拥有大量仅在少量数据上有所不同的相似页面可能会给您带来重复内容的惩罚

您希望页面(例如 index.html)包含 3 个链接:一、二、三。 单击 One 后,它移动到例如 one.html,并且有一个来自 href“index.html”的“return”链接?
手动<a href="one.html">One</a>
在 one.html 中:
手动<a href="index.html">Index</a>
其他
var element = document.getElementById(id); 在 JavaScript 中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM