Была дыра - SDK Android Analytics использовался для отправки намерения сразу после установки - но это было закрыто (разумеется, много путаницы).
Но окончательный ответ, я считаю, здесь:
http://developer.android.com/about/versions/android-3.1.html#launchcontrols
Это, по-видимому, предполагает, что , с 3.1 Google принял решение о том, что приложения находятся в остановленном состоянии, пока пользователь явно не активирует их, например запуском приложения или размещением виджета.
Это означает, что стратегия прослушивания общей широковещательной передачи (т. е. для запуска вашего приложения тайком) тоже не будет работать.
Добавьте пространство плюс название Вашего нового класса к className
свойство элемента. Во-первых, поместите id
на элемент, таким образом, можно легко получить ссылку.
<div id="div1" class="someclass">
<img ... id="image1" name="image1" />
</div>
Затем
var d = document.getElementById("div1");
d.className += " otherclass";
См. также element.className на MDN.
В YUI, если Вы включаете yuidom, можно использовать
YAHOO.util.Dom.addClass('div1','className');
HTH
во-первых, дайте отделению идентификатор. Затем вызовите функцию appendClass:
<script language="javascript">
function appendClass(elementId, classToAppend){
var oldClass = document.getElementById(elementId).getAttribute("class");
if (oldClass.indexOf(classToAdd) == -1)
{
document.getElementById(elementId).setAttribute("class", classToAppend);
}
}
</script>
Только для разработки то, что сказали другие несколько классов CSS объединены в единственной строке, разграниченной пробелами. Таким образом, если бы Вы хотели к твердому коду это, то это было бы просто похоже на это:
<div class="someClass otherClass yetAnotherClass">
<img ... id="image1" name="image1" />
</div>
Оттуда можно легко получить JavaScript, необходимый, чтобы добавить, что новый класс... просто добавляет пространство, сопровождаемое новым классом к свойству имени класса элемента. Зная это, можно также записать, что функция для удаления класса позже должна потребность возникать.
найдите свой целевой элемент "d" однако, Вы желаете и затем:
d.className += ' additionalClass'; //note the space
можно перенести это более умными способами проверить предварительное существование и проверку на необходимые площади и т.д.
touchesBegan
& it' s братья и attributesAtIndex
и проверка на NSLinkAttribute
, если это существует.
– dezinezync
14 March 2014 в 00:29
Принятие Вас делает больше, чем просто добавление этого класса (например, у Вас есть асинхронные запросы, и так далее продолжающиеся также), я рекомендовал бы библиотеку как Прототип или jQuery.
Это сделает примерно все, что необходимо будет сделать (включая это) очень простой.
Так скажем, у Вас есть jQuery на Вашей странице теперь, Вы могли использовать код как это для добавления имени класса к элементу (на загрузке, в этом случае):
$(document).ready( function() {
$('#div1').addClass( 'some_other_class' );
} );
Выезд jQuery браузер API для другого материала.
Когда работа, которую я делаю, не гарантирует пользование библиотекой, я использую эти две функции:
function addClass( classname, element ) {
var cn = element.className;
//test for existance
if( cn.indexOf( classname ) != -1 ) {
return;
}
//add a space if the element already has class
if( cn != '' ) {
classname = ' '+classname;
}
element.className = cn+classname;
}
function removeClass( classname, element ) {
var cn = element.className;
var rxp = new RegExp( "\\s?\\b"+classname+"\\b", "g" );
cn = cn.replace( rxp, '' );
element.className = cn;
}