2015-04-17 3 views
2

Я добавил удобную навигационную ссылку в свой пользовательский объект. Эта ссылка вызывает веб-ресурс ::ms dynamic crm 2015 web resources html body onload function

<script> function TweetOnLoad(){ var tweetWord = window.parent.Xrm.Page.data.entity.attributes.get("new_name").getValue(); var dynamicUrl ="http://localhost:3000/?tw="+tweetWord ; location.href = dynamicUrl; } </script> 

body onload="TweetOnLoad()" 

Но есть проблема: я не мог вызвать TweetOnLoad функции на тело тега, потому что CRM не позволяет. Как я могу справиться с этой проблемой?

+0

Какая ошибка вы получаете (crm не позволяет)? – BlueSam

ответ

0

Является ли это iFrame/WebResource, если это так, вам, вероятно, лучше передать параметр URL-адреса атрибута «new_name».

Из того, что у вас есть, переместите JavaScript в конец тега тела HTML, а затем вызовите свою функцию.

function TweetOnLoad(){ 
    var tweetWord = window.parent.Xrm.Page.data.entity.attributes.get("new_name").getValue(); 
    var dynamicUrl ="http://localhost:3000/?tw="+tweetWord; 
    location.href = dynamicUrl; 
} 

TweetOnLoad(); 
0

Я думаю, вы можете назвать его SetTimeout функции как

SetTimeout (TweetOnLoad, 1000);

, и вы можете дать среднюю милисекунду.

Также вы можете попытаться связать свою функцию с другим виджетами или чем-то другим.

0

Возможно, вы ограничены границами межкадровой связи. Правильный способ реализации этого будет заключаться в использовании Window.postMessage, имеющего сценарий как в форме объекта, так и в вашем пользовательском webresource (предположительно HTML-странице с javascript), который сознательно (четко определенным образом) общается с eachother.

Смежные вопросы