簡體   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