2013-07-24 7 views
1

Я пытаюсь получить следующее значение из сценария ниже Используйте это поле для хранения учетной записи, к которой относится ОппортьюнитьJavascript: как получить значение из тега сценария

<script>sfdcPage.setHelp('Opportunity.Account', 'Use this field to store the Account to which the Opportunity is related');</script> 

я могу добраться до этот тег сценария с использованием:

document.getElementsByTagName('tbody')[6].getElementsByTagName('script')[1]; 

Не могли бы вы дать мне знать. Большое спасибо.

+0

давайте посмотрим веб-сайт, на котором вы пытаетесь включить этот код. – ocanal

+0

Существует свойство, называемое 'innerHTML'; –

+0

Не зная прототипа для sfdcPage, трудно дать лучший вариант. Вы можете получить содержимое скрипта (если это часть страницы, а не связанный с ней сценарий), используя его элемент innerText. i.e 'document.getElementsByTagName ('tbody') [6] .getElementsByTagName ('script') [1] .innerText' Оттуда вы можете просто захватить весь текст между 3-м и 4-м символами' ''. indexOf и substr сделают это для вас. – enhzflep

ответ

3

Я бы не рекомендовал использовать теги script в ваших таблицах и т. Д. Другими словами, я бы не смешивал теги script с другим HTML-подобным контентом. Если вы хотите хранить небольшие бит информации, подобной этой в вашем HTML для целей JS, вместо этого я бы использовал data attributes.

Простой ответ на ваш вопрос, хотя это просто использовать свойство innerHTML или innerText следующим образом:

document.getElementsByTagName('tbody')[6].getElementsByTagName('script')[1].innerHTML; 
0

Используйте innerHtml в

document.getElementsByTagName('tbody')[6]. 
    getElementsByTagName('script')[1]. 
     innerHtml; 

ИЛИ
Установить идентификатор, чтобы получить содержимого сценария, как показано ниже, пример

<script id='script' type='text/javascript'> 
    $('div').html($('#script').html()); 

    console.log($('script')); 
</script> 

fiddle

0

Существует много способов сделать это. Одно из решений ....

var scrs = document.getElementsByTagName('script'); 
var newscr = ""; 
for (var i=0; i<scrs.length; i++) { 
    newscr = scrs[i].innerHtml.replace('sfdcPage.setHelp(', 'myfunction('); 
    if (newscr != scrs[i].innerHtml) { 
     eval(newscr); 
    } 
} 

(хотя синтаксический анализ/перезаписи JavaScript некрасивый хак - если это ваш код, то ваше чтение, то вы должны знать, что вы положили туда).