Closed7
Zendeskのチケットフィールドの説明をハイパーリンクにしたい
こんなの実現したい
- デフォルトではチケットフィールドの説明をハイパーリンクにすることはできない
- やるならZendesk Guideで共通の関数があるとよさそう
雑につくってみた。script.jsに設定する。
function convertToHyperlinks() {
// 'request_custom_fields_'で始まる全ての要素を取得
var elements = document.querySelectorAll('[id^="request_custom_fields_"]');
// 各要素に対して処理を実行
elements.forEach(function(p) {
var updatedHtml = p.innerHTML.replace(
/\[([^\]]+)\]\[<a href="([^"]+)" rel="noopener noreferrer" target="_blank">[^<]+<\/a>\]/g,
'<a href="$2" rel="noopener noreferrer" target="_blank">$1</a>'
);
p.innerHTML = updatedHtml;
});
}
document.addEventListener('DOMContentLoaded', function() {
convertToHyperlinks();
});
意図した動作するか要検証
いい感じ

改行も実装してみる
function convertContent() {
// 'request_custom_fields_'で始まる全ての要素を取得
var elements = document.querySelectorAll('[id^="request_custom_fields_"]');
// 各要素に対して処理を実行
elements.forEach(function(p) {
// リンクパターンを正しいハイパーリンクに置き換え
var updatedHtml = p.innerHTML.replace(
/\[([^\]]+)\]\[<a href="([^"]+)" rel="noopener noreferrer" target="_blank">[^<]+<\/a>\]/g,
'<a href="$2" rel="noopener noreferrer" target="_blank">$1</a>'
);
// 文字列としての改行タグ </br> を正しい <br> に置き換え
updatedHtml = updatedHtml.replace(/<\/br>/gi, '<br>');
// 変更されたHTMLを元の要素にセット
p.innerHTML = updatedHtml;
});
}
document.addEventListener('DOMContentLoaded', function() {
convertContent();
});
いいね
チケットフィールドの設定

プレビュー

このスクラップは2024/04/16にクローズされました