2016-07-16 5 views
0

Я совершенно новый для Greasemonkey, и я искал довольно много того, что хотел, и ничего не нашел. Я делаю взломать халяву для этого Unity FPS на базе браузера, и я пытаюсь сделать веб-страницу встроенной отредактированной копией файла игры напрямую, а не обычным игровым клиентом. В частности, я пытаюсь изменить URL-адрес во втором атрибуте функции UnityObject.embedUnity() в строке 335 источника страницы this. Я считаю, что Greasemonkey - это способ пойти с ним.Greasemonkey замените единицу. Источник объекта на веб-странице

Мое замешательство исходит из того факта, что просмотр источника (ctrl + u) показывает этот источник в функции javascript, но использование инспектором в инструментах dev показывает результат функции в теге embed. Я не уверен, что попытаться объяснить в моем сценарии Greasemonkey. У меня нет прямой ссылки подать до, но я попробовал этот сценарий (который не работает) (Google просто заполнитель, чтобы увидеть, если замещающий текст работы):

var tags = document.getElementsByTagName('embed'); tags[0].src = tags[0].src.replace('http://data.warmerise.com/Warmerise/Production/Warmerise.unity3d?5.7.5', 'http://google.com')

Как бы Я собираюсь написать сценарий для этого?

ответ

0

Этот элемент embed вставлен кодом пользователя Unity Player, находящимся внутри <script> тег страницы, который выполняется автоматически, когда браузер анализирует его.

Firefox до сих пор beforescriptexecute событие, которое вы можете использовать, чтобы изменить этот сценарий, прежде чем он работает:

document.addEventListener("beforescriptexecute", replacePlayer, true); 
function replacePlayer(e) { 
    var lookFor = 'http://data.warmerise.com/Warmerise/Production/Warmerise.unity3d?5.7.5'; 
    var replaceWith = 'http://google.com'; 
    if (e.target.text.indexOf(lookFor) > 0) { 
     e.target.text = e.target.text.replace(lookFor, replaceWith); 
    } 
}