for (var i = 0; i < 10; i++) {
// Значение переменной i копируется в переменную value, которая при каждом из 10 вызовов отдельная
(function(value) {
setTimeout(function () {
console.log(value);
}, 0);
})(i);
}
$maxLength = null;
$maxLengthIndex = null;
foreach ($array as $index => $value) {
$length = strlen($value);
if (is_null($maxLength) || $length > $maxLength) {
$maxLength = $length;
$maxLengthIndex = $index;
}
}
echo 'Самая длинная строка "' . $array[$maxLengthIndex] . '" под номером ' . $maxLengthIndex . '.';
apply
функции вызывает эту функцию с указанными аргументами. Первый аргумент метода apply
— значение переменой this
внутри функции во время её выполнения, а второй — список аргументов в виде массива.concat
массива объединяет его с другими массивами. Если конкретней, то к массиву, на котором он вызван, добавляет содержимое массивов из всех аргументов и возвращает итоговый массив. При этом массив, на котором вызван этот метод, остаётся неизменным.arr.splice.apply(arr, [index, tmpArr.length].concat(tmpArr));
сначала составляется список аргументов с помощью метода concat (массив аргументов, переданных по-обычному, объединяется с аргументами, переданными через оператор ...), затем с помощью apply
вызывается метод splice
массива и ему передаётся составленный массив аргументов. body {
background-color: #ccc;
background-image: url('../images/triangle.png');
background-position: center top;
background-size: 100% auto;
background-repeat: no-repeat;
}
var inputs = document.querySelectorAll( "input" );
for ( var i = 0; i < inputs.length; ++i ) {
inputs[ i ].addEventListener( 'change', function() {
alert("The text has been changed.");
});
}
document.querySelector( "input" ).addEventListener( 'change', function() {
alert("The text has been changed.");
});
function replaceTag( element, newTag )
{
var elementNew = document.createElement( newTag );
elementNew.innerHTML = element.innerHTML;
Array.prototype.forEach.call( element.attributes, function( attr ) {
elementNew.setAttribute( attr.name, attr.value );
});
element.parentNode.insertBefore( elementNew, element );
element.parentNode.removeChild( element );
return elementNew;
}
https://www.facebook.com/groups/адрес_группы/
. А затем получить информацию о группе через Graph API,function getGroupID( $name )
{
$url = 'https://www.facebook.com/groups/' . urlencode( $name ) . '/';
$curl = curl_init( $url );
curl_setopt( $curl, CURLOPT_TIMEOUT, 10 );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7" ); // Иначе Facebook не отдаст ответ
$html = curl_exec( $curl );
curl_close($curl);
if ( preg_match( '~"fb://group/(?:\?id=|.{0})([0-9]+)"~u', $html, $matches ) )
return (int)$matches[ 1 ];
if ( preg_match( '~"group_id"\s*:\s*([0-9]+)~u', $html, $matches ) )
return (int)$matches[ 1 ];
if ( preg_match( '~"/ajax/groups/membership[^"]+group_id=([0-9]+)"~u', $html, $matches ) )
return (int)$matches[ 1 ];
if ( preg_match( '~"/ajax/timeline/sign_up_dialog[^"]+entity_id=([0-9]+)["&;]~u', $html, $matches ) )
return (int)$matches[ 1 ];
return null;
}
var_dump( getGroupID( 'primorye' ) );
echo get_facebook_page_likes('page id');
function get_facebook_page_likes($page_id) {
$url = 'https://graph.facebook.com/v2.11/'.urlencode($page_id).'?fields=fan_count&access_token=ТОКЕН';
$data = json_decode(file_get_contents($url));
return $data->fan_count;
}
ТОКЕН
:AppID|AppSecret
, где AppID — идентификатор созданного приложения, AppSecret — серкетный ключ приложения.$pageName = 'facebook';
$query = 'SELECT fan_count FROM page WHERE username="' . $pageName . '"';
$response = file_get_contents( 'http://api.facebook.com/restserver.php?method=facebook.fql.query&query=' . rawurlencode( $query ) );
$xml = simplexml_load_string( $response );
echo $xml->page->fan_count;
.contents
установить значение line-height равным 0 и добавить него какой-нибудь элемент, у которого свойство display равно inline-block:.contents {
line-height: 0;
}
.contents:before {
content: "";
display: inline-block;
}
var elem = document.createElement( 'script' );
elem.type = 'text/javascript';
elem.async = true;
document.body.appendChild( elem );
elem.src = 'Ваш скрипт.js';
var elem = document.createElement( 'link' );
elem.rel = 'stylesheet';
elem.type = 'text/css';
document.body.appendChild( elem );
elem.href = 'Ваш стиль.css';