Я пытаюсь поделиться текущим URL окна для социальных ссылок, как показано ниже. В моем cshtml у меня есть код ниже, где я пытаюсь заменить [CurrentWindowLocation] на URL текущей страницы, используя функцию javascript window.location.href, но не могу этого сделать.

@using System.Web
@{
    var shareWord = HttpUtility.UrlEncode(ViewData["shareWord"] as string ?? string.Empty);
}

 <a href="//twitter.com/intent/tweet?via=Companytext=@(shareWord)[CurrentWindowLocation]#tagCompany" >
      <i class="icon-twitter"></i>
 </a>

<a href="//www.facebook.com/share.php?u=[CurrentWindowLocation]" >
      <i class="icon-fb"></i>
</a>

Я попробовал приведенный ниже код, но не смог получить правильный результат

<a href="//twitter.com/intent/tweet?via=Companytext=@(shareWord)" + $(window.location.href)+ "#tagCompany" >
      <i class="icon-twitter"></i>
 </a>

Мои ожидания в href: //twitter.com/intent/tweet?via=Companytext=ShareWordhttp://www.mycompany.com#tagCompany

0
user3113876 24 Окт 2019 в 20:22

2 ответа

Лучший ответ

Попробуй это

<a class="twitter-share-link" href="//twitter.com/intent/tweet?via=Companytext=@(shareWord)LOCATION_HREF#tagCompany" >
  <i class="icon-twitter">link</i>
</a>
<script>
  (function(){
    var link = document.getElementsByClassName('twitter-share-link')[0]
    link.setAttribute('href', link.getAttribute('href').replace('LOCATION_HREF',location.href))
  })()
</script>
0
Chu Nguyen 25 Окт 2019 в 10:54

Попробуйте использовать контекст со стороны сервера вместо jquery

<a href="//twitter.com/intent/tweet?via=Companytext=@(shareWord)@(Context.Request.Host)@(Context.Request.Path)#tagCompany" >
     <i class="icon-twitter"></i>
</a>

Надеюсь, что это полезно!

Чу Нгуен

0
Chu Nguyen 24 Окт 2019 в 17:38