Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2015, 17:18
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Как получить глобальный объект, не зная имени?
Сабж. Раньше можно было сделать так:

var global = (function() {return this;})();


Но strict mode не позволяет больше так делать. Как теперь получить window, global или другой глобальный объект, не зная его имени?
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2015, 17:34
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

как вариант

'use strict';

var global = (function() {return this;})();
var global2 = new Function('return this')();

console.log(global);
console.log(global2);
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2015, 17:39
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

nerv_, спасиб.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #4 (permalink)  
Старый 04.10.2015, 06:20
Аватар для join
Профессор
Отправить личное сообщение для join Посмотреть профиль Найти все сообщения от join
 
Регистрация: 05.03.2012
Сообщений: 478

Есть ссылки на глобальный объект: self, top, parent;

example:
var global3 = (function() {return self;} ());
Ответить с цитированием
  #5 (permalink)  
Старый 04.10.2015, 13:23
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от join
Есть ссылки на глобальный объект: self, top, parent;
Они могут быть переопределены.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #6 (permalink)  
Старый 04.10.2015, 19:50
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от nerv_
var global2 = new Function('return this')();
Сообщение от FINoM
nerv_, спасиб.
А так CSP не позволяет делать
Ответить с цитированием
  #7 (permalink)  
Старый 04.10.2015, 20:00
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от Octane
А так CSP не позволяет делать
Можно подробнее?
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #8 (permalink)  
Старый 04.10.2015, 20:06
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

http://content-security-policy.com/
Пока в заголовке Content-Security-Policy не укажешь значение unsafe-eval, new Function будет блокироваться и выбрасывать исключение:
Цитата:
Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self'"

Последний раз редактировалось Octane, 04.10.2015 в 20:22.
Ответить с цитированием
  #9 (permalink)  
Старый 04.10.2015, 20:27
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Octane, фигово. Тогда мой вопрос всё еще актуален.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #10 (permalink)  
Старый 04.10.2015, 20:37
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

https://github.com/zloirock/core-js/.../%24.global.js
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить значение переменной/свойства объекта, зная ее имя? Sinist3r Общие вопросы Javascript 4 19.09.2013 20:39
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как получить данные из opener в open melihovgv Javascript под браузер 1 07.12.2012 09:36
Получить значение value - как ? lamer Общие вопросы Javascript 26 12.08.2012 10:33
Как получить название композиции из Windows Mepia Plyaer alx99 Javascript под браузер 1 18.02.2011 16:21