为什么我在javascript中收到“无法找到图像”错误?

时间:2016-02-12 18:49:53

标签: javascript

我有以下功能

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 ...”

图像肯定也放在“网站”文件夹中

我有什么理由得到这个错误,我该如何解决?

3 个答案:

答案 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]");