Неперехваченная ошибка типа: не удается прочитать свойство ‘init’ неопределенного в библиотеке zTree_v3

#javascript #jquery #ztree

#javascript #jquery #ztree

Вопрос:

У меня возникла проблема с использованием библиотеки zTree. это мой код

 <script type="text/javascript" src="<?php echo base_url()?>asset/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="<?php echo base_url()?>asset/js/jquery.ztree.core-3.5.js"></script>
<SCRIPT type="text/javascript">
    <!--
    var setting = {
        data: {
            simpleData: {
                enable: true
            }
        }
    };

    var zNodes =[
        { id:1, pId:0, name:"Custom Icon 01", open:true, iconOpen:"<?php echo base_url()?>asset/img/diy/1_open.png", iconClose:"<?php echo base_url()?>asset/img/diy/1_close.png"},
        { id:11, pId:1, name:"leaf node 01", icon:"<?php echo base_url()?>asset/img/diy/2.png"},
        { id:12, pId:1, name:"leaf node 02", icon:"<?php echo base_url()?>asset/img/diy/2.png"},
        { id:13, pId:1, name:"leaf node 03", icon:"<?php echo base_url()?>asset/img/diy/2.png"},
        { id:2, pId:0, name:"Custom Icon 02", open:true, iconOpen:"<?php echo base_url()?>asset/img/diy/1_open.png", iconClose:"<?php echo base_url()?>asset/img/diy/1_close.png"},
        { id:21, pId:2, name:"leaf node 01", icon:"<?php echo base_url()?>asset/img/diy/8.png"},
        { id:22, pId:2, name:"leaf node 02", icon:"<?php echo base_url()?>asset/img/diy/8.png"},
        { id:23, pId:2, name:"leaf node 03", icon:"<?php echo base_url()?>asset/img/diy/8.png"}

    ];

    $(document).ready(function(){
        $.fn.zTree.init($("#treeDemo"), setting, zNodes);
    });
    //-->
</SCRIPT>
  

и я получаю некоторую ошибку типа

Неперехваченная ошибка типа: не удается прочитать свойство ‘init’ undefined (анонимная функция) b.extend.ready u

пожалуйста, помогите мне, как я могу решить эту проблему? Спасибо

Ответ №1:

Это происходит из-за включения js в нескольких местах. Я столкнулся с той же проблемой на моей странице портала, где jquery-1.4.4.min.js и jquery.ztree.core-3.5.js были включены во многих местах.

Я исправил эту проблему, удалив все ссылки на js из всех портлетов на этой странице и добавил эти js глобально в theme/_diff/portal_noraml.vm в указанном порядке.

Ответ №2:

Эта ошибка в вашем $(document).ready() , и это потому, что ваш скрипт zTree не был загружен правильно. «Не удается прочитать свойство ‘init’ undefined» означает, что вы написали что-то, что оценивается как undefined.init — так что вы знаете, что $.fn.zTree это не определено.

Если вы проверите вкладку сеть в инструментах разработчика вашего браузера, вы, надеюсь, увидите проблему. Я бы предположил, что это будет либо 404 (т. е. src атрибут <script> тега неверен) или 403 (т.е. вам необходимо изменить разрешения для вашего файла zTree, чтобы веб-сервер мог его прочитать).

Комментарии:

1. как изменить разрешение?

2. Вам придется войти на свой веб-сервер и использовать chmod для файла.