webjey

Рейтинг
46
Регистрация
09.04.2013

Если я правильно потнял задачу ,то вот


<?php
class User implements ArrayAccess
{
public $field_responsible_for = ['und'=>'123'];
private $field_myfield = ['und'=>'321'];


public function offsetGet($offset)
{
return $this->$offset;
}

public function offsetSet($offset, $value)
{
}

public function offsetExists($offset)
{
}

public function offsetUnset($offset)
{
}

}
$user = new User;
print_r($user->field_responsible_for['und'].PHP_EOL);
$field="field_responsible_for";
print_r($user[$field]['und'].PHP_EOL);
$field="field_myfield";
print_r($user[$field]['und']) ;

Есть библиотека для таких случаев - http://momentjs.com/


if(moment().isBetween(moment('5:15','H:mm'),moment('12:45','H:mm'))){
alert('Доброе утро!');
}

- Если сервер правильно настроен - то должен отдавать хедер 304,etag и пр.

- Можно создать хеш страницы и сравнивать

- Можно привязатся не к тегам , а непосредственно к тексту:

т.е. как ,например,пишут цены: 1000 р.|1000 рублей|1000 руб. - создаем регулярку

Если увидеть пациэнта , можно подсказать более конкретно.

Посмотрите https://lumen.laravel.com/ или http://flightphp.com/

Или имелось ввиду совсем минимально?

main.html


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>main</title>
</head>
<body>

<iframe src="frame.html" frameborder="0" id="main-content-iframe"></iframe>
<script language="JavaScript">
(function() {

var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
eventer(messageEvent,function(e) {
var data=JSON.parse(e.data);
if (data.command=='getTItle'){
document.title=data.title;
if (data.favicon!==null){
var link = document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = data.favicon;
document.getElementsByTagName('head')[0].appendChild(link);
}
}
},false);
})();

</script>


</body>
</html>

frame.html


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>iframe title here</title>
<link rel="shortcut icon" type="image/ico" href="favicon.ico" />
</head>
<body>
iframe content
<script language="JavaScript">
(function() {
var head = document.head || document.getElementsByTagName('head')[0];
var favicon= head.querySelector("link[rel='shortcut icon']").href || null ;
var json = {
command:'getTItle',
title: document.title,
favicon: favicon
};
parent.postMessage(JSON.stringify(json),'*');
})();
</script>
</body>
</html>
widgin:
А можно ли как-то помимо title еще и из фрейма передать favicon? Чтобы на странице, в которой расположен iframe отображалась в браузере favicon сайта из фрейма (если в нем вообще есть favicon.ico). Если да, то могли бы вы webjey подсказать как это сделать? Если кончено это вас не затруднит.

До фавиконки можно так добраться:


var head = document.head || document.getElementsByTagName('head')[0];
var favicon= head.querySelector("link[rel='shortcut icon']").href ;

Есть еще вот такой трюк - https://plus.google.com/_/favicon?domain=тут_путь_до_лендинга

т.е. чтобы на своей странице отобразить, например,фавикон яндекса можно написать так


<link rel="shortcut icon" href="https://plus.google.com/_/favicon?domain=http://ya.ru/"/>

Ошибки у вас из-за того, что при загрузке через file_get_contents подгружаются скрипты только

с абсолютными путями, относительные пути типа


<script language="javascript" src="script.js"></script>
нет.

Что касается моего скрипта, то похоже прилетает сообщение от другого обработчика , можно например так переписать

main.html


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>main</title>
</head>
<body>

<iframe src="frame.html" frameborder="0" id="main-content-iframe"></iframe>
<script language="JavaScript">
(function() {

var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
eventer(messageEvent,function(e) {
var data=JSON.parse(e.data);
if (data.command=='getTItle'){
document.title=data.title;
}
},false);
})();

</script>


</body>
</html>

frame.html


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>iframe title here</title>
</head>
<body>
iframe content
<script language="JavaScript">
(function() {
var json = {
command:'getTItle',
title: document.title
};
parent.postMessage(JSON.stringify(json),'*');
})();
</script>
</body>
</html>
widgin:
Спасибо, но у меня почему-то появляется в тайтле этот код вместо текста:

тут тоже не работает- http://n96847u2.bget.ru/frame/ ?

проверяете на домене? т.е урл должен быть moysait.ru/main.html

какой браузер?

что пишет в консоли?

главная страница


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>main</title>
</head>
<body>

<iframe src="frame.html" frameborder="0"></iframe>
<script language="JavaScript">
(function() {
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
eventer(messageEvent,function(e) {
document.title=e.data;
},false);
})();

</script>
</body>
</html>

iframe


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>iframe title here</title>
</head>
<body>
iframe content
<script language="JavaScript">
(function() {
var url = location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: '');
parent.postMessage(document.title,url);
})();
</script>
</body>
</html>

Кстати, похожим методом пользуется гугл в своей рекапче.

Sly32, если доступен ssh,можно примонтировать папку через sshfs,


sshfs user@ip:/remote_path/ /local_mount_path

и работать как привык.Хочешь hg, хочешь git.

Кстати,на моем хостинге эти команды доступны.Может проще попросить админов чтоб поставили?

Всего: 193