2016-08-22 3 views
0

Я тестирую этот код, и он работает здесь http://www.w3schools.com/js/tryit.asp?filename=tryjs_debugger, но не на моей странице Joomla. Ошибка консоли Chrome находится в нижней части постаКод работает на странице тестирования W3shool, но не в Joomla

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
<script type="text/javascript"> 
function toggleDiv(divId) { 
    $("#"+divId).toggle(); 
} 
</script> 

<a href="javascript:toggleDiv('myContent');" style="background-color: #ccc; padding: 5px 10px;">Toggle Button</a> 
<div id="myContent" style="background-color: #aaa; padding: 5px 10px;"> 
    The content in this div will hide and show (toggle) when the toggle is pressed. 
</div> 

63-tet.html: 168 неперехваченным TypeError: Не удается прочитать свойство 'тумблер' в nulltoggleDiv @ 63-tet.html: 168 (анонимной функции) @ VM4704 : 1

Я cheched страницы источника и мой код посылается обратно ко мне сервер нетронутым:

<div itemprop="articleBody"> 
 
\t \t <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
 
<script type="text/javascript"> 
 
function toggleDiv(divId) { 
 
    $("#"+divId).toggle(); 
 
} 
 
</script> 
 

 
<a href="javascript:toggleDiv('myContent');" style="background-color: #ccc; padding: 5px 10px;">Toggle Button</a> 
 
<div id="myContent" style="background-color: #aaa; padding: 5px 10px;"> 
 
    The content in this div will hide and show (toggle) when the toggle is pressed. 
 
</div> \t </div>

ответ

0

Похоже, что Joomla является фильтром/черным списком определенных ключевых слов. Вы можете видеть, что он пытается вызвать функцию:

nulltoggleDiv и получить доступ к этому свойству.

Если вы нажмете f12 и выполните поиск «toggleDiv», вы сможете увидеть фактический html после его деформирования.

проверить этот документ:

https://docs.joomla.org/Help16:Content_Article_Manager#Filtering_Options_.28HTML.29

из дока:

Black List Filters 
The default filter method in Joomla! is 'Black List'. The default 'Black List' contains the following tags to exclude: 

'applet', 'body', 'bgsound', 'base', 'basefont', 'embed', 'frame', 'frameset', 'head', 'html', 'id', 'iframe', 'ilayer', 'layer', 'link', 'meta', 'name', 'object', 'script', 'style', 'title', 'xml' 
The default 'Black List' contains the following attributes to exclude: 

'action', 'background', 'codebase', 'dynsrc', 'lowsrc' 
You can 'Black List' (disallow) additional tags and attributes by adding to the Filter tags and Filter attributes fields, separating each tag or attribute name with a space or comma. If you select a Filter Type of "Black List", this list will always be used, plus any additional tags and attributes you add. 
+0

Это, кажется, не в том, что исходный код страницы показывает, что мой код там, смотри выше. Интересно, что если вы нажмете «run» выше, вы увидите ошибку, но я не могу ее понять (я на начальном уровне с ними) – MiniMe

+0

Код отлично работает, когда я нажимаю кнопку «Run» и нажимаю кнопку «Toggle». Он скрывает и показывает div как ожидалось. – RIanGillis

+0

Несколько раз я получаю этот https://i.imgur.com/bi1dqTe.png, когда обновляю страницу, похожую на мою ошибку – MiniMe

0

Проблема, кажется, с этой ссылкой

$("#"+divId).toggle(); 

После того как я заменил выше

var element = document.getElementById(divId); 
    element.toggle(); 

код работал

Смежные вопросы