使用Javascript从文件位置获取url
我有一个滑块,它在SharePoint上的框架中使用html文件。幻灯片更换非常频繁,并且此滑块将再推出10次。我想创建一个工作流,以便最终用户可以自己更改滑块/href。我已经创建了下面的函数,它动态地创建我的“li”和“a”,并且正在工作。最后,我将使用变量来获取“src”等 我的问题是我想做一个“for each”来运行指定的目录并获取文件名,这样我就可以为每个文件创建一个新的“li”和“a”,并动态地为“a”拉入我的“src” 如果我说的不对,我道歉。我是JavaScript和编程的新手。我自己花了相当多的时间试图弄明白这一点。如有任何帮助/解释/指示,将不胜感激使用Javascript从文件位置获取url,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我有一个滑块,它在SharePoint上的框架中使用html文件。幻灯片更换非常频繁,并且此滑块将再推出10次。我想创建一个工作流,以便最终用户可以自己更改滑块/href。我已经创建了下面的函数,它动态地创建我的“li”和“a”,并且正在工作。最后,我将使用变量来获取“src”等 我的问题是我想做一个“for each”来运行指定的目录并获取文件名,这样我就可以为每个文件创建一个新的“li”和“a”,并动态地为“a”拉入我的“src” 如果我说的不对,我道歉。我是JavaScript和编程的新手
<!DOCTYPE html>
<html>
<head></head>
<body>
<script>
document.body.onload = addElement;
function addElement() {
//run through a directory and grab URLs
// create a new li element
var newLi = document.createElement("li");
//create img
var newImg = document.createElement("img");
newImg.setAttribute("src", "Intranet_643x296.jpg");
newImg.setAttribute("height", "100%");
newImg.setAttribute("border-radius", "10px");
newImg.setAttribute("alt", "Einstein");
// Set its contents:
document.getElementById("ulimage").appendChild(newImg);
}
</script>
<ul id="ulimage"></ul>
</body>
</html>
document.body.onload=添加元素;
函数addElement(){
//运行目录并获取URL
//创建一个新的li元素
var newLi=document.createElement(“li”);
//创建img
var newImg=document.createElement(“img”);
setAttribute(“src”,“Intranet_643x296.jpg”);
newImg.setAttribute(“高度”、“100%”);
newImg.setAttribute(“边界半径”,“10px”);
setAttribute(“alt”、“Einstein”);
//设置其内容:
document.getElementById(“ulimage”).appendChild(newImg);
}
这是不可能的!
出于明显的安全原因,您无法访问客户端文件系统。这是不可能的!
出于明显的安全原因,您无法访问客户端文件系统。如果您想在客户端执行此操作,正如@erwan所回答的那样,这是不可能的 另外,我假设目录在服务器上?
如果是这样,那么只需在服务器端获取所有文件名,然后就可以在javascript中使用它们
更新 如果您使用的是php,那么类似这样的东西将捕获特定目录中的所有内容
// Directory
$directory = $_SERVER['DOCUMENT_ROOT'] . '/images';
chdir($directory); // change directory (not necessary but retrieves only filenames)
// Get all files in directory
$images = glob('*'); // returns an array that you can use in a foreach loop
// also you should probably lookup the glob function (see below) to see the options
请参见此处的glob文档如果只想选择特定的扩展名,请使用模式
glob('*.{jpg, png}', GLOB_BRACE)
希望这对您有所帮助如果您想在客户端执行此操作,很遗憾,@erwan已经回答了,这是不可能的 另外,我假设目录在服务器上?
如果是这样,那么只需在服务器端获取所有文件名,然后就可以在javascript中使用它们
更新 如果您使用的是php,那么类似这样的东西将捕获特定目录中的所有内容
// Directory
$directory = $_SERVER['DOCUMENT_ROOT'] . '/images';
chdir($directory); // change directory (not necessary but retrieves only filenames)
// Get all files in directory
$images = glob('*'); // returns an array that you can use in a foreach loop
// also you should probably lookup the glob function (see below) to see the options
请参见此处的glob文档如果只想选择特定的扩展名,请使用模式
glob('*.{jpg, png}', GLOB_BRACE)
希望这有帮助你的问题是陈述。“我的问题是,我叫罗伯特。”我回答道。我认为虽然不明显,但他的问题相当明显。人们可以明显地用“我该怎么做”来形容“我想”,但即使这样,问题也不清楚。希望其他人能理解。你的问题是陈述。“我的问题是,我叫罗伯特。”我回答道。我认为虽然不明显,但他的问题相当明显。人们可以明显地用“我该怎么做”来形容“我想”,但即使这样,问题也不清楚。希望其他人能理解。当然可以。这就是文件输入的用途。如果可以,您不能通过“文件”输入访问整个目录。这就是文件输入的目的。您不能通过“文件”输入访问整个目录,因为它位于服务器端。有没有一种方法可以在服务器端动态地抓取它们?他们每周都会更改几次,我希望它能自动化,这样我就不必为每个站点都这样做了。一次不超过7-8张幻灯片。您使用什么语言?php?我们的公司办公室不会在我们的服务器场上启用对php的支持。对于我来说,设置PHP服务器并让SharePoint在一个框架中提供内容还不够干净。还有其他建议或解决方案吗?很遗憾,您需要服务器端语言才能访问文件系统。HTML和JavaScript将无法实现您所期望的,因为它位于服务器端。有没有一种方法可以在服务器端动态地抓取它们?他们每周都会更改几次,我希望它能自动化,这样我就不必为每个站点都这样做了。一次不超过7-8张幻灯片。您使用什么语言?php?我们的公司办公室不会在我们的服务器场上启用对php的支持。对于我来说,设置PHP服务器并让SharePoint在一个框架中提供内容还不够干净。还有其他建议或解决方案吗?很遗憾,您需要服务器端语言才能访问文件系统。HTML和JavaScript将无法实现您想要的功能