그누보드5 이미지맵 오류 질문입니다
전체 게시물을 다 뒤져봤습니다.
http://sir.co.kr/g5_tip/3099" style="color: rgb(0, 0, 0); text-decoration: none; font-family: 돋움, Dotum, sans-serif; font-size: 14.004px;">http://sir.co.kr/g5_tip/3099에 있는데로 하면 된다고 해서 수정했고,
클릭은 되는데 이동을 안하더군요
common.lib에 있는 html_purifier에
</p><p>function html_purifier($html)</p><p>{</p><p> $f = file(G5_PLUGIN_PATH.'/htmlpurifier/safeiframe.txt');</p><p> $domains = array();</p><p> foreach($f as $domain){</p><p> // 첫행이 # 이면 주석 처리</p><p> if (!preg_match("/^#/", $domain)) {</p><p> $domain = trim($domain);</p><p> if ($domain)</p><p> array_push($domains, $domain);</p><p> }</p><p> }</p><p> // 내 도메인도 추가</p><p> array_push($domains, $_SERVER['HTTP_HOST'].'/');</p><p> $safeiframe = implode('|', $domains);</p><p> </p><p> include_once(G5_PLUGIN_PATH.'/htmlpurifier/HTMLPurifier.standalone.php');</p><p> $config = HTMLPurifier_Config::createDefault();</p><p> // data/cache 디렉토리에 CSS, HTML, URI 디렉토리 등을 만든다.</p><p> $config->set('Cache.SerializerPath', G5_DATA_PATH.'/cache');</p><p> $config->set('HTML.SafeEmbed', false);</p><p> $config->set('HTML.SafeObject', false);</p><p> $config->set('Output.FlashCompat', false);</p><p> $config->set('HTML.SafeIframe', true);</p><p> $config->set('URI.SafeIframeRegexp','%^(https?:)?//('.$safeiframe.')%');</p><p> $config->set('Attr.AllowedFrameTargets', array('_blank'));</p><p> $purifier = new HTMLPurifier($config);</p><p> return $purifier->purify($html);</p><p>}</p><p>
여기에서
</p><p><span style="font-size: 14.6667px;">$config->set('Attr.AllowedFrameTargets', array('_blank'));</span> </p><p><span style="font-size: 14.6667px;">
밑에 소스를 추가하여 결과적으로 아래와 같이 수정하였습니다.
</span></p><p><span style="font-size: 14.6667px;">// <a href="<a href="http://htmlpurifier.org/" target="_blank" rel="noopener noreferrer">http://htmlpurifier.org/</a>"><a href="http://htmlpurifier.org/" target="_blank" rel="noopener noreferrer">http://htmlpurifier.org/</a></a></span></p><p><span style="font-size: 14.6667px;">// Standards-Compliant HTML Filtering</span></p><p><span style="font-size: 14.6667px;">// Safe : HTML Purifier defeats XSS with an audited whitelist</span></p><p><span style="font-size: 14.6667px;">// Clean : HTML Purifier ensures standards-compliant output</span></p><p><span style="font-size: 14.6667px;">// Open : HTML Purifier is open-source and highly customizable</span></p><p><span style="font-size: 14.6667px;">function html_purifier($html)</span></p><p><span style="font-size: 14.6667px;">{</span></p><p><span style="font-size: 14.6667px;"> $f = file(G5_PLUGIN_PATH.'/htmlpurifier/safeiframe.txt');</span></p><p><span style="font-size: 14.6667px;"> $domains = array();</span></p><p><span style="font-size: 14.6667px;"> foreach($f as $domain){</span></p><p><span style="font-size: 14.6667px;"> // 첫행이 # 이면 주석 처리</span></p><p><span style="font-size: 14.6667px;"> if (!preg_match("/^#/", $domain)) {</span></p><p><span style="font-size: 14.6667px;"> $domain = trim($domain);</span></p><p><span style="font-size: 14.6667px;"> if ($domain)</span></p><p><span style="font-size: 14.6667px;"> array_push($domains, $domain);</span></p><p><span style="font-size: 14.6667px;"> }</span></p><p><span style="font-size: 14.6667px;"> }</span></p><p><span style="font-size: 14.6667px;"> // 내 도메인도 추가</span></p><p><span style="font-size: 14.6667px;"> array_push($domains, $_SERVER['HTTP_HOST'].'/');</span></p><p><span style="font-size: 14.6667px;"> $safeiframe = implode('|', $domains);</span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;"> include_once(G5_PLUGIN_PATH.'/htmlpurifier/HTMLPurifier.standalone.php');</span></p><p><span style="font-size: 14.6667px;"> $config = HTMLPurifier_Config::createDefault();</span></p><p><span style="font-size: 14.6667px;"> // data/cache 디렉토리에 CSS, HTML, URI 디렉토리 등을 만든다.</span></p><p><span style="font-size: 14.6667px;"> $config->set('Cache.SerializerPath', G5_DATA_PATH.'/cache');</span></p><p><span style="font-size: 14.6667px;"> $config->set('HTML.SafeEmbed', false);</span></p><p><span style="font-size: 14.6667px;"> $config->set('HTML.SafeObject', false);</span></p><p><span style="font-size: 14.6667px;"> $config->set('Output.FlashCompat', false);</span></p><p><span style="font-size: 14.6667px;"> $config->set('HTML.SafeIframe', true);</span></p><p><span style="font-size: 14.6667px;"> $config->set('URI.SafeIframeRegexp','%^(https?:)?//('.$safeiframe.')%');</span></p><p><span style="font-size: 14.6667px;"> $config->set('Attr.AllowedFrameTargets', array('_blank'));</span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">//소스 추가 시작</span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;"> $def = $config->getHTMLDefinition(true); </span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">// Add usemap attribute to img tag </span></p><p><span style="font-size: 14.6667px;"> $def->addAttribute('img', 'usemap', 'CDATA'); </span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">// Add map tag </span></p><p><span style="font-size: 14.6667px;"> $map = $def->addElement( </span></p><p><span style="font-size: 14.6667px;"> 'map', // name </span></p><p><span style="font-size: 14.6667px;"> 'Block', // content set </span></p><p><span style="font-size: 14.6667px;"> 'Flow', // allowed children </span></p><p><span style="font-size: 14.6667px;"> 'Common', // attribute collection </span></p><p><span style="font-size: 14.6667px;"> array(// attributes </span></p><p><span style="font-size: 14.6667px;"> 'name' => 'CDATA', </span></p><p><span style="font-size: 14.6667px;"> 'id' => 'ID', </span></p><p><span style="font-size: 14.6667px;"> 'title' => 'CDATA', </span></p><p><span style="font-size: 14.6667px;"> ) </span></p><p><span style="font-size: 14.6667px;"> ); </span></p><p><span style="font-size: 14.6667px;"> $map->excludes = array('map' => true); </span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">// Add area tag </span></p><p><span style="font-size: 14.6667px;"> $area = $def->addElement( </span></p><p><span style="font-size: 14.6667px;"> 'area', // name </span></p><p><span style="font-size: 14.6667px;"> 'Block', // content set </span></p><p><span style="font-size: 14.6667px;"> 'Empty', // don't allow children </span></p><p><span style="font-size: 14.6667px;"> 'Common', // attribute collection </span></p><p><span style="font-size: 14.6667px;"> array(// attributes </span></p><p><span style="font-size: 14.6667px;"> 'name' => 'CDATA', </span></p><p><span style="font-size: 14.6667px;"> 'id' => 'ID', </span></p><p><span style="font-size: 14.6667px;"> 'alt' => 'Text', </span></p><p><span style="font-size: 14.6667px;"> 'coords' => 'CDATA', </span></p><p><span style="font-size: 14.6667px;"> 'accesskey' => 'Character', </span></p><p><span style="font-size: 14.6667px;"> 'nohref' => new HTMLPurifier_AttrDef_Enum(array('nohref')), </span></p><p><span style="font-size: 14.6667px;"> 'href' => 'URI', </span></p><p><span style="font-size: 14.6667px;"> 'shape' => new HTMLPurifier_AttrDef_Enum(array('rect', 'circle', 'poly', 'default')), </span></p><p><span style="font-size: 14.6667px;"> 'tabindex' => 'Number', </span></p><p><span style="font-size: 14.6667px;"> 'target' => new HTMLPurifier_AttrDef_Enum(array('_blank', '_self', '_target', '_top')) </span></p><p><span style="font-size: 14.6667px;"> ) </span></p><p><span style="font-size: 14.6667px;"> ); </span></p><p><span style="font-size: 14.6667px;"> $area->excludes = array('area' => true);</span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">//소스 추가 종료</span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;"> $purifier = new HTMLPurifier($config);</span></p><p><span style="font-size: 14.6667px;"> return $purifier->purify($html);</span></p><p> </p><p><span style="font-size: 14.6667px;">}</span></p><p><span style="font-size: 14.6667px;">
클릭은 됩니다.
주소창에 해당 id값이 주소 url 맨 뒤에 #으로 붙더군요.
#hd 와 같이 상단 올라가는 버튼처럼 url에 추가되는건 확인을 했는데 이동을 하지 않습니다.
이럴 경우 어떻게 해결하면 되겠는지요.
*아참... 그누보드가 5.2.2 버전입니다
답변을 작성하려면 로그인이 필요합니다.
로그인