Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Friday, January 27, 2012 10:36 AM
On my home page, I am displaying Welcome to My Company. Now I want to display "Welcome <Username>", How can do this? I tried following text, but whevever I save the page, it removes the javscript tag, Please let me know how can I achieve this
<div class="ms-rteFontSize-2"><strong>Welcome, <script type="text/javascript">var loginName = "<%= SPContext.Current.Web.CurrentUser.Name %>";document.write(loginName);</script>
</strong></div>
<div class="ms-rteFontSize-2"><div class="ms-rtestate-read ms-rte-wpbox" contenteditable="false"><div class="ms-rtestate-notify ms-rtestate-read 8b5027e9-99bb-4216-9c53-2a7d169fc560" id="div_8b5027e9-99bb-4216-9c53-2a7d169fc560"></div></div></div>
All replies (11)
Friday, January 27, 2012 11:06 AM
You can use ECMA script to get current user name, give a reference of SP.js in your page :
var currentcontext = new SP.ClientContext.get_current();
var currentweb = currentcontext.get_web();
currentcontext.load(currentweb);
var currentuser = currentweb.get_currentUser();
currentcontext.load(currentuser);
var loginName = currentuser.get_loginName();
For more information check for ECMAScript for SharePoint 2010 or Client Object Model for SharePoint 2010.
get2pallav
Please click "Propose As Answer" if this post solves your problem or "Vote As Helpful" if this post has been useful to you.
Friday, January 27, 2012 11:28 AM
Can you please let meknow how to give sp.js reference?
Friday, January 27, 2012 11:38 AM
As you suggested, I added script and now contents like
<div class="ms-rteFontSize-2"><strong>Welcome <script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(getWebUserData, "sp.js");
var currentcontext = new SP.ClientContext.get_current();
var currentweb = currentcontext.get_web();
currentcontext.load(currentweb);
var currentuser = currentweb.get_currentUser();
currentcontext.load(currentuser);
var loginName = currentuser.get_loginName();</script></strong></div>
<div class="ms-rteFontSize-2"><div class="ms-rtestate-read ms-rte-wpbox" contenteditable="false"><div class="ms-rtestate-notify ms-rtestate-read 8b5027e9-99bb-4216-9c53-2a7d169fc560" id="div_8b5027e9-99bb-4216-9c53-2a7d169fc560"></div></div></div>
Once I save the HTML content, I got only "Welcome" no username is appearing here.
Once I save the page, script tag is removed automatically.
Let me know If I am soing anything wrong here?
Friday, January 27, 2012 11:45 AM
Hi Avikumar,
try using <script type="javascript"> instead of <script type="text/javascript"> and type the double quoutes (") manually rather than coping them.
<script type="javascript">
var loginName = "<%= SPContext.Current.Web.CurrentUser.Name %>";
document.write(loginName);
</script>
Hope this will help :)!
Regards
Friday, January 27, 2012 11:46 AM
Yup, you are right for visual webpart.
<script type="text/javascript" language="javascript">
ExecuteOrDelayUntilScriptLoaded(test, "sp.js");
function test() {
this.ClientContext = SP.ClientContext.get_current();
}
</script>
Check this : http://msdn.microsoft.com/en-us/library/ff798328.aspx
http://msdn.microsoft.com/en-us/library/ie/ee535709.aspx
get2pallav
Please click "Propose As Answer" if this post solves your problem or "Vote As Helpful" if this post has been useful to you.
Friday, January 27, 2012 11:56 AM
Don't add the js file directly in your page.... rather save it in a JS file and refer the js file in your master page... then you can easily using JQuery .. populate the loginName
//Script reference in master page
<script type="text/javascript" src="reference JQuery JS file"></script>
<script type="text/javascript" src="reference to your js file"></script>
<div class="ms-rteFontSize-2 userName"></div>
<div class="ms-rteFontSize-2"><div class="ms-rtestate-read ms-rte-wpbox" contenteditable="false"><div class="ms-rtestate-notify ms-rtestate-read 8b5027e9-99bb-4216-9c53-2a7d169fc560" id="div_8b5027e9-99bb-4216-9c53-2a7d169fc560"></div></div></div>
//JS file code
ExecuteOrDelayUntilScriptLoaded(getWebUserData, "sp.js");
function getWebUserData()
{
var currentcontext = new SP.ClientContext.get_current();
var currentweb = currentcontext.get_web();
currentcontext.load(currentweb);
var currentuser = currentweb.get_currentUser();
currentcontext.load(currentuser);
var loginName = currentuser.get_loginName();
//get refernce of the div by class name and insert the text
jQuery("div.userName").html("<strong>Welcome"+loginName+"</strong>")
}
"T" | My blog updates | My Twitter | Our Products | Mail Me | LinkedIn | My Virtual Business Card
Thursday, June 28, 2012 3:12 PM
None of the approach works ...
I tried all of them...
for some it says codeblocks are not allowed in master pages.....
Tanmay is it ok to list our how to do your approach...
i tried that effort..but didn't worked....
kukdai
Friday, June 29, 2012 3:51 AM
try this make sure your master page references the jquery library before you type this of course. Removes last name (you can remove that) and is available on multiple languages
<script type="text/javascript">
$(document).ready(function()
{
var textDisplayArea = $('span.ms-welcomeMenu').children('a.ms-menu-a').children('span');
var userName = textDisplayArea.text();
var textToShow;
// Trim the name. We are frendly right?
var firstName = userName.split(" ")[0];
// Which language?
var currentLanguage = _spPageContextInfo.currentLanguage;
if (currentLanguage == '1036')
{
textToShow = 'Bienvenue ' + firstName + "!";
}
else
{
textToShow = 'Welcome ' + firstName + "!";
}
// Set the text back
textDisplayArea.text(textToShow);
});
</script>
Benjamin Niaulin Blog: http://bniaulin.wordpress.com
Twitter: @bniaulin
Monday, July 2, 2012 2:11 PM
but does it displays the full name of a user?
I need a fullname not the username such as johnydeep not jdeep...
kukdai
Monday, October 1, 2018 1:50 PM
Welcome
<script type="text/javascript">
var WinNetwork = new ActiveXObject("WScript.Network");
document.write(WinNetwork.UserName);
</script>
Use this :)
Regards,
Siva
Monday, October 1, 2018 1:52 PM
enable activex in IE and try the below
Welcome
<script type="text/javascript">
var WinNetwork = new ActiveXObject("WScript.Network");
document.write(WinNetwork.UserName);
</script>