解码base64 URL并嵌入HTML

我想这样做 http://www.jredtna.com/read/?hash=cGxheWVyIDEgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvZmgwUUQtV1dyY2MKcGxheWVyIDIgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvMk1wVWotQXVhNDg= </ p>

(不能看到的iframe 因为网站使用cookies来检查你是否来自其他网站。)</ p>

所以请加入 http://halqat.online/video/watch.php?vid=6f673f4c5 并点击红色播放按钮查看我的意思。</ p>

< p>当解码hash = by base64时:</ p>


cGxheWVyIDEgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvZmgwUUQtV1dyY2MKcGxheWVyIDIgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvMk1wVWotQXV hNDg = </ p>
</ blockquote>

会给我们这样的:</ p>


播放器1 =&gt; https://www.youtube.com/embed/fh0QD-WWrcc </ p >

播放器2 =&gt; https://www.youtube.com/embed/2MpUj-Aua48 </ p >
</ blockquote>

我的问题是如何做到这一点:</ p>

获取哈希= Base64URL </ strong> </ p>

解码并通过 =&gt; </ strong> </ p> \拆分“播放器1 </ strong>”和“ youtube url </ strong>” n

将数据放入html中</ p>

 &lt; div class =“embeding”&gt; 
&lt; ul&gt;
&lt; li&gt;&lt; a data-src =“https://www.youtube.com/embed/fh0QD-WWrcc”&gt;播放器1&lt; / a&gt;&lt; / li&gt;
&lt; li&gt;&lt; a data-src =“https ://www.youtube.com/embed/2MpUj-Aua48“&gt;播放器2&lt; / a&gt;&lt; / li&gt;
&lt; / ul&gt;
&lt; / div&gt;
</ code> </ pre >

如果找到其他玩家,则自动添加 li a </ strong> </ p>
</ div>

展开原文

原文

I want make like this http://www.jredtna.com/read/?hash=cGxheWVyIDEgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvZmgwUUQtV1dyY2MKcGxheWVyIDIgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvMk1wVWotQXVhNDg=

(You can't see iframe because website using cookies to check if you coming from another website).

So please join here http://halqat.online/video/watch.php?vid=6f673f4c5 and click red play button to see what I mean.

When decode hash= by base64:

cGxheWVyIDEgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvZmgwUUQtV1dyY2MKcGxheWVyIDIgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvMk1wVWotQXVhNDg=

will give us like this:

player 1 => https://www.youtube.com/embed/fh0QD-WWrcc

player 2 => https://www.youtube.com/embed/2MpUj-Aua48

My question is how I can do like that:

Get hash=Base64URL

Decode it and split "player 1" and "youtube url" by =>

Put data inside html like this

<div class="embeding">
  <ul>
      <li><a data-src="https://www.youtube.com/embed/fh0QD-WWrcc">player 1</a></li>
      <li><a data-src="https://www.youtube.com/embed/2MpUj-Aua48">player 2</a></li>
  </ul>
</div>

and auto add li a if find another players

douyou1960
douyou1960 无论如何,谢谢你,如果你想帮助我,我可以给你我的电子邮件与我们联系,并将通过图像或视频向您解释更多
2 年多之前 回复
dongxing4805
dongxing4805 好吧也许别人会理解......我肯定不会
2 年多之前 回复
dougang1965
dougang1965 抱歉,但我的英语非常糟糕,请只阅读我的问题并理解,因为我解释了一切
2 年多之前 回复
donglv9116
donglv9116 请花几分钟时间阅读如何询问,然后使用适当详细且自包含的问题书面说明编辑问题。所有这些都很难理解
2 年多之前 回复

1个回答

I use splice method to make an array and then from this array I get the youtube url's strings via split method.

function decodeBase_64(arg){ 
  var decodedData=window.atob(arg);
  var a;
  var c=[];  
  for(var i=0;i<decodedData.split('=>').length;i++){
    if(decodedData.split('=>')[i].length>10){      
      a=decodedData.split('=>')[i];
      a=a.substr(0, 42);
      c.push(a);
    }
  }
   return c; 
}
document.getElementById('player_1').setAttribute('data-src',decodeBase_64('cGxheWVyIDEgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvZmgwUUQtV1dyY2MKcGxheWVyIDIgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvMk1wVWotQXVhNDg=')[0] );
document.getElementById('player_2').setAttribute('data-src',decodeBase_64('cGxheWVyIDEgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvZmgwUUQtV1dyY2MKcGxheWVyIDIgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvMk1wVWotQXVhNDg=')[1] );

console.log(decodeBase_64('cGxheWVyIDEgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvZmgwUUQtV1dyY2MKcGxheWVyIDIgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvMk1wVWotQXVhNDg='));
console.log(decodeBase_64('cGxheWVyIDEgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvZmgwUUQtV1dyY2MKcGxheWVyIDIgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvMk1wVWotQXVhNDg=')[0]);
console.log(decodeBase_64('cGxheWVyIDEgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvZmgwUUQtV1dyY2MKcGxheWVyIDIgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvMk1wVWotQXVhNDg=')[1]);
<div class="embeding">
  <ul>
      <li><a data-src="" id="player_1">player 1</a></li>
      <li><a data-src="" id="player_2">player 2</a></li>
  </ul>
</div>

Check the console to see the c array

For the second issue..Get the her via window.location.href and then

var str='http://www.jredtna.com/read/?hash=cGxheWVyIDEgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvZmgwUUQtV1dyY2MKcGxheWVyIDIgPT4gaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvMk1wVWotQXVhNDg=';
str=str.substring(str.indexOf("hash="));
str=str.replace('hash=','');
console.log(str);

</div>
douchao1879
douchao1879 是的先生,网址和玩家名称是可变的所以不是每次都是42个字符我提出了新的问题,你可以在这里回答我(stackoverflow.com/questions/49741481)
2 年多之前 回复
douyue4334
douyue4334 你可以设置41而不是10.你有变量大于41个字符?
2 年多之前 回复
doueta6642
doueta6642 我还有其他问题,比如a = a.substr(0,42); 因为我的网址是可变的,而且每次都不是42个单词而且我想在=>之前得到因为玩家1和玩家2等也是可变的而且每次都不是长度> 10,如果能检测到换行,那么每次返回行都是玩家
2 年多之前 回复
douqun1977
douqun1977 你得到字符串url(str)然后你把它作为arg传递给decodeBase_64()函数,那就是它
2 年多之前 回复
doz95923
doz95923 谢谢先生,现在我可以通过网址获得base64,但我有另外一个问题; 如果你可以帮助我,我会告诉你我需要什么
2 年多之前 回复
dsa45132
dsa45132 答案已更新
2 年多之前 回复
doucha7329
doucha7329 谢谢你,先生,但也许你没有看过我的另一个问题,我希望js代码从这个网址得到变量base64(website.com/show / ...),我非常感谢你的努力,所以如果你能告诉我你的脸书 或电子邮件或与您联系的东西,并解释更多,我将不胜感激
2 年多之前 回复
dqjl0906
dqjl0906 检查片段。我更新了它。
2 年多之前 回复
duan051347
duan051347 对于第一个问题,您可以使用decodeBase_64(base64)。
2 年多之前 回复
douxing6532
douxing6532 非常感谢你,但是base64代码是可变的,你可以添加window.location或者什么东西让代码在URL之后自动从URL获取base64?hash =另一个问题,你只将player1和player2添加到代码中,如果我在base64 url​​中添加了player3 ,这不会在html中显示,你可以自动检测我在url中有多少玩家? 例如:如果找到1个玩家,将只添加一个<li> <a {name> <a {}>如果找到4个玩家将添加4个<li> <等等再次感谢你这个伟大的工作
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐