cookie consent機能を加える19-CookieYes | GDPR Cookie Consent-
この記事について
Hello World
CookieYes | GDPR Cookie Consentのバナーに言語切り替え用のボタンを設置する為、次の事を確認する。
これら内容は以下レンタルサーバーでのWordPress環境を使用。
シン・レンタルサーバー![](https://www16.a8.net/0.gif?a8mat=3T8P7I+7KOKM2+CO4+1HLFVM)
![](https://www19.a8.net/0.gif?a8mat=3T8P7I+7KOKM2+CO4+1HMIGH)
各事項については以降に書いていく。
その他、環境整備に関する新情報。
同系列WordPress特化型レンタルサーバー
WordPress専用クラウド型レンタルサーバー『wpX Speed』![](https://www14.a8.net/0.gif?a8mat=3TCZ0D+AL1GPM+CO4+ZQFQA)
![](https://www18.a8.net/0.gif?a8mat=3TCZ0D+AL1GPM+CO4+ZRXQP)
同系列安定型レンタルサーバー
格安ドメイン名取得サービス『Xserverドメイン』![](https://www14.a8.net/0.gif?a8mat=3TCZ0D+ALMWBE+CO4+15OK2A)
![](https://www19.a8.net/0.gif?a8mat=3TCZ0D+ALMWBE+CO4+15WWZL)
その他キャンペーン中WordPress対応レンタルサーバー
ロリポップ公式サイト![](https://www17.a8.net/0.gif?a8mat=3TCZ0D+AM8BX6+348+64Z8Y)
![](https://www17.a8.net/0.gif?a8mat=3TCZ0D+AM8BX6+348+6E71D)
ドメイン管理に関しては
格安ドメイン名取得サービス『Xserverドメイン』![](https://www19.a8.net/0.gif?a8mat=3TCZ0D+ALMWBE+CO4+15OK2A)
![](https://www13.a8.net/0.gif?a8mat=3TCZ0D+ALMWBE+CO4+15WWZL)
![](https://www18.a8.net/0.gif?a8mat=3TCZ0D+ANF74Q+348+1C1W8I)
![](https://www14.a8.net/0.gif?a8mat=3TCZ0D+ANF74Q+348+1BRTKX)
![](https://www19.a8.net/0.gif?a8mat=3TCZ0D+AMTRIY+50+2HHVNM)
![](https://www17.a8.net/0.gif?a8mat=3TCZ0D+AMTRIY+50+2HTO1D)
cookie consent機能を加える19-CookieYes | GDPR Cookie Consent-
Javascriptで特定要素の位置を基準にボタン追加
指定位置に要素を追加する為、特定要素の位置を基準にボタンが追加するJavascriptをカスタムHTMLに入れ確認する。
何故そうしたいかはcookie consent機能を加える18-CookieYes | GDPR Cookie Consent-を参照。
カスタムHTMLへ入れる要素の追加用テストコード
HTMLタグでテスト画面を設置
<!-- 実行ボタン -->
<button id="test_btn" onclick="testadd_element()">要素を追加</button>
<!-- メッセージ -->
<div id="testmess1">
テストメッセージ
</div>
内容は要素の追加を実行させるボタンと、メッセージの表示場所の設置。
ボタンが実行するJavascriptの実装
<script>
function testadd_element(){
/* 実行ボタンの要素を取得 */
var element = document.getElementById('test_btn');
/* 追加する要素を宣言 */
let createElement = document.createElement('button');
createElement.textContent = '今追加されたボタン';
/* 宣言した要素の追加 */
var added_element = element.parentNode.insertBefore(createElement, element);
/* 追加した要素にクラス名追加 */
added_element.setAttribute("class", "added_btn");
/* クラス名から追加された要素の数を集計 */
var added_elements = document.getElementsByClassName('added_btn');
for (let i = added_elements.length;i > 1 ;i--){
added_elements[i-1].innerText = added_elements.length - i + 1 + "番目に追加した要素";
}
/* メッセージ変更 */
var mess1_div = document.getElementById('testmess1');
mess1_div.innerText = added_elements.length + "個のボタンを追加した";
}
</script>
内容は特定要素を取得し、その要素の手前に新たな要素を追加。追加された要素の数をメッセージ等に表示。といった流れのメソッドを実行ボタンが呼び出す名前で登録したコード。
実際のカスタムHTML
バナー内への要素追加
言語切り替え用のボタンを入れるとすればCookieYes | GDPR Cookie Consentバナーのカスタマイズボタン手前位置に追加できれば良い気がする。
![CookieYesバナーのカスタマイズボタン画面](https://nemunori.com/wp-content/uploads/2023/07/230717_cookieyes1_500_175.png)
カスタマイズボタンの取得
document.getElementsByClassName('cky-btn-customize')[0];
Firefoxで調査すると上記コードで取得できる。
要素追加のテスト
先に記載したコードで実行ボタン(追加位置)を取得していた部分を置き換える事で、カスタマイズボタンの手前に追加されると予想。
結果
下の通り追加されている。
![CookieYesバナーのカスタマイズボタン手前にボタン追加の画面](https://nemunori.com/wp-content/uploads/2023/07/230717_cookieyes2_500_95.png)
まとめ
テスト用のボタンによりCookieYes | GDPR Cookie Consentのバナーへ要素追加が可能なのを確認する事ができた。しかし、CookieYes | GDPR Cookie Consentのバナーが出現するまでにラグがあるので、ボタンを使わず瞬時に要素が追加できるかは別途確認が必要。colabo系ニート的には面倒な予感がする。
よろしく。