Извините мой английский первый ... :)Управление пространств имен из нескольких HTML-фрагментов
Я использую XMLNS
для HTML
тегов и нацелить их в JS
с getElementsByTagNameNS
и использовать CSS
селектор xmlns\:tagName
для CSS
документов, на стороне сервера я используйте DOM
с объектом PHP
DOMDocument::getElementsByTagNameNS
...
Я хочу знать, хорошо ли я сделал или был ли эффективный способ? эта логика может вызвать у меня проблему в будущем? Я не знаю, как ex: DRUPAL
или JOOMLA
управлять вещью?
Или вы думаете, что я могу использовать regexp в PHP с preg_match_replace
, чтобы добавить префиксы в любые атрибуты HTML и сделать то же самое в файлах JS и файлах CSS?
структура
actor
|
|
v
+--------------+ +--------------------------------+
| NPresenter | | NNamespace |
+-------+|--------------|+------->|--------------------------------|
| |--------------| |--------------------------------|
| | -display(); | | +full_qualified_js_name(); |
| +--------------+ | +full_qualified_less_name(); |
| | +full_qualified_layout_name(); |
| +--------------------------------+
v
+------------------+ (assets)
| NModel | +------------+
|------------------| | js |
|------------------|------------------------->| less |
| +file_content(); | | layout |
+----------------- + +------------+
fully_qualified _ * _ имя() возвращает выход целевого файла, с регулярным выражением и preg_match_all, я добавить Xmlns в файл макета, как показано ниже:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns:aa='zz' xmlns:ee='rr'>
<head>
<title></title>
<script src="/assets/js/appended_js.js"></script>
<LINK rel="stylesheet" type="text/css" href="/assets/js/appended_css.css"">
</head>
<body>
<aa:span id="span1">
<aa:p>aaa</aa:p>
</aa:span>
<ee:span id="span1">
<ee:p>aaa</ee:p>
</ee:span>
</body>
</html>
в меньшем файле я сделать как показано ниже:
/*less*/
aa\:span{background: #00ff00;}
в JS файл я сделать, как показано ниже:
/*js*/
var Namespace = {
methode1: function() {
var target = document.getElementsByTagNameNS("aa","zz");
return target.length;
}
};
Возможно, вам стоит добавить примерный демо-код, чтобы было ясно, что вы на самом деле делаете. Я не уверен, нет ли каких-либо небольших ошибок, о которых вы просите, поэтому покажите несколько примеров, что это станет более ясным. – hakre
@hakre спасибо за реакцию, i'v просто опубликуйте более подробную информацию, если она станет непонятной, пожалуйста, спросите ... – kapsula
+1 для редактирования в одиночку, теперь это намного яснее. – hakre