我正在編寫自己的 WordPress 插件,這就是為什麼某些程式碼可能看起來有點(diǎn)奇怪。但我的問題是使用普通的舊 PHP。
我創(chuàng)建了一個(gè)玩家列表,每個(gè)玩家都有一個(gè)唯一的 URL。我想在每一行/播放器上有一個(gè)“複製連結(jié)”按鈕。但我似乎無法完成這項(xiàng)工作。
我不想在副本上更新網(wǎng)站,所以我想需要使用 Ajax 之類的東西。但我沒有經(jīng)驗(yàn)。
我嘗試使用 JavaScript 創(chuàng)建它,但當(dāng)我傳入連結(jié)(字串)時(shí),它不斷打印錯(cuò)誤。 它印出:「意外的標(biāo)記 ':'。預(yù)期 ')' 結(jié)束參數(shù)清單?!?/p>
我已經(jīng)這樣設(shè)定了我的 PHP 檔案:
<?php // Fetching the players // foreach($players as $player) { $player_email = get_post_meta($player->ID, 'email')[0]; $player_status = get_post_meta($player->ID, 'status')[0]; $player_link = get_permalink($player->ID); if ($player_status == 'Not completed') { array_push($not_completed_players, 'true'); } $return_html .= ' <li class="players-div"> <div class="players-text-div"> <p class="players-list-p players-name"> ' . $player->post_title . ' </p> <p class="players-list-p players-email"> ' . $player_email . ' </p> </div> <a class="players-list-p" href="' . $player_link . '"> /' . basename($player_link) . ' </a> <p class="players-list-p players-email"> ' . $player_status . ' </p> <button type="button" onClick="copyToClipboard(' . $player_link . ')" name="copied_link" value="' . $player_link . '"> Copy link </button> </li>'; } ?> <script> function copyToClipboard(playerLink) { navigator.clipboard.writeText( playerLink ); } </script>
您應(yīng)該用雙引號或單引號將 copyToClipboard
函數(shù)的參數(shù)括起來。此解決方案透過新增反斜線 (\
) 來轉(zhuǎn)義 '
:
copyToClipboard(\'' . $player_link . '\')
您的播放器連結(jié)可能包含 https:
並且冒號會導(dǎo)致錯(cuò)誤訊息。