Javascript:提取URL的一部分,清理它,并在flash容器的html嵌入代码中使用它

Javascript:提取URL的一部分,清理它,并在flash容器的html嵌入代码中使用它,javascript,sharepoint,embed,ecmascript-5,Javascript,Sharepoint,Embed,Ecmascript 5,事先抱歉,这个网站上的很多答案都与这个问题的部分相关,尽管我没有把这些点联系起来。任何帮助都将不胜感激(乐意购买虚拟啤酒等) 我希望获取一个URL,并提取“&folderCTID”左侧和“RootFolder=”右侧的部分字符串,例如: 这: {440F5454-054D-4C68-A1E2-4A52E4FD8FCB} 变成: %2F项目1%2F课程%2014 然后,我希望将“%2F”替换为“/”,并添加一个尾随“/presentation.swf”,留下我的文件引用“/Project1/Les

事先抱歉,这个网站上的很多答案都与这个问题的部分相关,尽管我没有把这些点联系起来。任何帮助都将不胜感激(乐意购买虚拟啤酒等)

我希望获取一个URL,并提取“&folderCTID”左侧和“RootFolder=”右侧的部分字符串,例如:

这: {440F5454-054D-4C68-A1E2-4A52E4FD8FCB}

变成: %2F项目1%2F课程%2014

然后,我希望将“%2F”替换为“/”,并添加一个尾随“/presentation.swf”,留下我的文件引用“/Project1/Lesson%2014/presentation.swf”

最后,我想在嵌入代码中使用文件引用,例如src="/Project1/Lesson%2014/presentation.swf"


这是可能的吗?

简短的回答:

var url = "http://mysite.com/Project1/Forms/AllItems.aspx?RootFolder=%2FProject1%2FLesson%2014&FolderCTID=0x01200075C0E8AC5A64724787732A3200049D3A&View={440F5454-054D-4C68-A1E2-4A52E4FD8FCB}",
i = 0, len, part;

url = url.split("?").pop().split("&");
len = url.length;

for ( ; i < len; i++ ) {
    part = url[i].split("=");
    if ( part[0] === "RootFolder" ) {
        break;
    }
}

part = decodeURIComponent(part[1]);

console.log(part); // "/Project1/Lesson 14"
var url=”http://mysite.com/Project1/Forms/AllItems.aspx?RootFolder=%2FProject1%2FLesson%2014&FolderCTID=0x01200075C0E8AC5A64724787732A3200049D3A&View={440F5454-054D-4C68-A1E2-4A52E4FD8FCB}”,
i=0,len,part;
url=url.split(“?”).pop().split(“&”);
len=url.length;
对于(;i
这对我很有用

theURL='http://mysite.com/Project1/Forms/AllItems.aspx?RootFolder=%2FProject1%2FLesson%2014&FolderCTID=0x01200075C0E8AC5A64724787732A3200049D3A&View={440F5454-054D-4C68-A1E2-4A52E4FD8FCB}';

filePath = theURL.match(/RootFolder\=(.*?)&/)[1].replace(/%2F/g, "/")+"/presentation.swf";

alert(filePath);
我认为你甚至不需要解码url来在src中使用它,这样你就可以使用它了

filePath = theURL.match(/RootFolder\=(.*?)&/)[1]+"%2Fpresentation.swf";
尝试SWFObject


SWFObject动态嵌入-步骤3
embedSWF(文件路径,“myContent”、“300”、“120”、“9.0.0”);
替代内容

或者,如果您正在使用jQuery,您也可以尝试

$(文档).ready(函数(){
$(“#示例”).flash(
{src:filePath,
宽度:720,
身高:480},
{版本:8}
);
});
你没有闪光灯

$(文档)。准备好了吗(
函数(){
$('#myFlash').flash(文件路径);
}
);
你没有闪光灯

在上面的示例中,我将filePath变量放在了正确的位置

谢谢Daniel,这非常有用。如果我想在HTML代码中添加该变量(filePath),例如,src=***变量在这里***-我该怎么做?了不起的Daniel-谢谢-请选择您的在线人情赎回工具(amazon wishlist等)。感谢Tom非常慷慨,如果您在设置邮件地址时遇到问题,请在我有YouTunks Null的邮件地址上留言,您的解决方案可以完美地提取文件URL!另外,我发现这段代码还有一个很好的用途——根据Daniel的说法,请选择您的在线优惠兑换工具(amazon wishlist等),您不应该鼓励支付stackoverflow。在这里,我们使用rep。你可以悬赏并奖励丹尼尔一些你的代表。如果答案是好的,你可以投票。如果你有话要对某个特定的用户/答案说,那么接受答案也会奖励回答它的用户代表。如果有多个用户在评论文章,请对该答案发表评论,并使用
@user
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>SWFObject dynamic embed - step 3</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript" src="swfobject.js"></script>

    <script type="text/javascript">
    swfobject.embedSWF(filePath, "myContent", "300", "120", "9.0.0");
    </script>

  </head>
  <body>
    <div id="myContent">
      <p>Alternative content</p>
    </div>
  </body>
</html>
$(document).ready(function(){
    $('#example').flash(
        { src: filePath,
          width: 720,
          height: 480 },
        { version: 8 }
    );
});

<div id="example">You don't have flash</div>
$(document).ready(
    function() {
        $('#myFlash').flash(filePath);
    }
);

<div id="myFlash">You don't have flash</div>