Переменные в MainDocument.EvaluateScript

SlipDez

Client
Регистрация
18.07.2018
Сообщения
375
Благодарностей
70
Баллы
28
Подскажите, возможна ли вставка своих переменных в метод MainDocument.EvaluateScript

Как пример того что необходимо реализовать

C#:
string var1= "Значение";

instance.ActiveTab.MainDocument.EvaluateScript(@"window.tmp='var1'");
есть метод EvaluateScriptAsync() но так как асинхронный то в зенке работать не будет
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 787
Благодарностей
2 453
Баллы
113
Подскажите, возможна ли вставка своих переменных в метод MainDocument.EvaluateScript

Как пример того что необходимо реализовать

C#:
string var1= "Значение";

instance.ActiveTab.MainDocument.EvaluateScript(@"window.tmp='var1'");
есть метод EvaluateScriptAsync() но так как асинхронный то в зенке работать не будет
Попробуйте, может быть в таком виде будет работать как необходимо:
C#:
string var1= "Значение";
instance.ActiveTab.MainDocument.EvaluateScript(string.Format(@"window.tmp='{0}'", var1));
 
  • Спасибо
Реакции: SlipDez

SlipDez

Client
Регистрация
18.07.2018
Сообщения
375
Благодарностей
70
Баллы
28
Спасибо, видимо опять моя невнимательность получилось сделать слиянием строк


Подскажите а тут что я делаю не так?


C#:
Tab tab = instance.ActiveTab;  
string ks = "NDExNTA0MjExNTM";
string kkk = "(function() {window.t = \"" + ks + "\";window.localStorage = document.body.appendChild(document.createElement `iframe`).contentWindow.localStorage;window.setInterval(() => window.localStorage.token = `\"${window.t}\"`);window.location.reload();})();";
tab.MainDocument.EvaluateScript(kkk);

C#:
string var1= "NDExNTA0MjExNTMy";


instance.ActiveTab.MainDocument.EvaluateScript(string.Format(@"function() {window.t = \" '{0}' \";window.localStorage = document.body.appendChild(document.createElement `iframe`).contentWindow.localStorage;window.setInterval(() => window.localStorage.token = `\"${window.t}\"`);window.location.reload();})();", var1));
109405
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
726
Благодарностей
476
Баллы
63
Спасибо, видимо опять моя невнимательность получилось сделать слиянием строк


Подскажите а тут что я делаю не так?


C#:
Tab tab = instance.ActiveTab; 
string ks = "NDExNTA0MjExNTM";
string kkk = "(function() {window.t = \"" + ks + "\";window.localStorage = document.body.appendChild(document.createElement `iframe`).contentWindow.localStorage;window.setInterval(() => window.localStorage.token = `\"${window.t}\"`);window.location.reload();})();";
tab.MainDocument.EvaluateScript(kkk);

C#:
string var1= "NDExNTA0MjExNTMy";


instance.ActiveTab.MainDocument.EvaluateScript(string.Format(@"function() {window.t = \" '{0}' \";window.localStorage = document.body.appendChild(document.createElement `iframe`).contentWindow.localStorage;window.setInterval(() => window.localStorage.token = `\"${window.t}\"`);window.location.reload();})();", var1));
Посмотреть вложение 109405
Написал по другому.
Я как-то не очень люблю String.Format

C#:
string var1 = "NDExNTA0MjExNTMy";


            instance.ActiveTab.MainDocument.EvaluateScript($"function() {{window.t = \" '{var1}' \";window.localStorage = document.body.appendChild(document.createElement `iframe`).contentWindow.localStorage;window.setInterval(() => window.localStorage.token = `\"${{window.t}}\"`);window.location.reload();}})();");
Тут надо быть внимательным с экранированием:
для { => {{
для " => \"
 
  • Спасибо
Реакции: SlipDez и djaga

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)