wordpressにてjavascriptの「TypeError:」がでる
wordpressにてjavascriptの「TypeError:」がでる
jqueryの宣言と wp_head() の宣言が重なるとでる。
1. typeError は jqueryの宣言が重複するとでる
2. wp_headはjqueryの宣言を出力するので既存でjqueryを宣言していたら重複してしまう。
対処:wp_deregister_script('jquery')
でjquery宣言が勝手に出力されるのを抑制する。
<?php wp_deregister_script('jquery'); //この宣言でjqueryの出力を抑制する ?>
<?php wp_head(); ?-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/x.x.x/jquery.min.js">
functions.phpに記述も可能
function my_delete_local_jquery() {
wp_deregister_script('jquery');
}
add_action( 'wp_enqueue_scripts', 'my_delete_local_jquery' );
Javascriptで端末により処理を分ける
javascript にて userAgentにより処理をわける。
$(function () {
var ua = navigator.userAgent;
if (ua.indexOf('iPhone') > 0 || ua.indexOf('iPod') > 0 || ua.indexOf('Android') > 0 && ua.indexOf('Mobile') > 0) {
// モバイル
} else if (ua.indexOf('iPad') > 0 || ua.indexOf('Android') > 0) {
// タブレット
} else {
// PC等
}
});