我有以下功能
function openImage(id){
var full = "full"+id;
var img = new Image();
img.src = "full"+id;
window.open(img);
}
当我执行window.open(full)
时,它完全正常,但当我window.open(img)
时,我收到错误
“找不到../ desktop / website / object%20HTML ...”
图像肯定也放在“网站”文件夹中
我有什么理由得到这个错误,我该如何解决?
答案 0 :(得分:1)
当您获取HTML img元素的DOM表示并将其转换为字符串时,结果不是URL。
string st= File.ReadAllText(@"D:\\f1.txt");
textBox1.Text = st;
string[] s = st.Split(' ');
for (int i = 0; i <= s.Length; i++)
{
if (s[i] == ".")
{
string v = s[i + 1];
var c = v.ToCharArray();
string ss=Convert.ToString(c[0]);
if (Regex.IsMatch(ss, "[A-Z]"))
listBox1.Items.Add(s[i - 1]);
else
listBox2.Items.Add(s[i - 1]);
}
的第一个参数需要是一个URL。
您可以从window.open
属性中提取网址:
src
答案 1 :(得分:0)
因为img
是一个对象,而不是一个字符串。 window.open
期望第一个参数是一个字符串,并将传递的参数强制转换为字符串类型。这意味着图像将调用其toString()
方法以获取字符串,即[object HTMLImageElement]
。这就是你得到的:奇怪的网址,无法加载任何东西:
../desktop/website/object/%20object HTMLImageElement%5D
答案 2 :(得分:0)
window.open
需要一个String,但是你传入了一个Object,所以发生了什么
window.open("[object HTMLImageElement]");