【问题标题】:Onload event load jscript function var data but it not stop loadingOnload 事件加载 jscript 函数 var 数据但它不会停止加载
【发布时间】:2021-08-07 16:41:01
【问题描述】:

所以我尝试从 bbcode 解码器预览图像,代码工作正常,但问题是我需要在 <a> href 链接中使用该图像,以便人们可以单击它并获取图像源,我还对其进行了按摩,例如:点击图片查看完整尺寸,

所以我在这里放了一个简单的 Jscript 函数,在里面我调用 variable 并放入 document.getElementById,然后我放入 variable.innerHTML 并放入我的图像按摩和 <a href> 值。

但是当我在浏览器上运行时,它就像一个无限循环一样加载。它只是一遍又一遍地加载。

这是我的完整代码:来自 php bbcode 解码器的第一个代码和第二个代码仅 html,因为我不确定我的 php 代码是否以任何方式执行它都无法解决。

第一个

    <script>
    function linkset(img) {
            var fio=document.getElementById(img.name);
            fio.innerHTML='<strong>Click on image for full size view.</strong><br /><a href="'+img.src+'" target="_blank">'+fio.innerHTML+'</a>';
    }
    </script> 




<?php

$img_count = 0;

function parseimage($matches)
{
    global $img_count;

    $img_count++;

    return "\n<div id=\"img{$img_count}\" style=\"font-size:x-small; display:inline;\">\n<img name=\"img{$img_count}\" onload='linkset(this);' src='$matches[1]' border='0' alt='' /></div>";
}

$content = "[img]https://www.technocrazed.com/wp-content/uploads/2015/12/beautiful-wallpaper-download-14.jpg[/img]";

$result = preg_replace_callback('/\[img\]((http|ftp|https):\/\/([a-zA-Z0-9\/\-\+\?\&\.\=\_\~\#\'\%\;]*))\[\/img\]/i', 'parseimage', $content);

?>

<?php echo $result; ?>

第二

    <script>
    function linkset(img) {
            var fio=document.getElementById(img.name);
            fio.innerHTML='<strong>Click on image for full size view.</strong><br /><a href="'+img.src+'" target="_blank">'+fio.innerHTML+'</a>';
    }
    </script> 






<?php 

$ssq = "https://www.technocrazed.com/wp-content/uploads/2015/12/beautiful-wallpaper-download-14.jpg";

?>


<div id="img" style="font-size:x-small; display:inline;"><img name="img" onload="linkset(this);" src="<?php echo $ssq; ?>" border="0" alt="" /></div>

结果是这样的:

<div id="img1" style="font-size:x-small; display:inline;">
<strong>Click on image for full size view.</strong><br>
<a href="https://www.technocrazed.com/wp-content/uploads/2015/12/beautiful-wallpaper-download-14.jpg" target="_blank">
<strong>Click on image for full size view.</strong><br></a>
<a href="https://www.technocrazed.com/wp-content/uploads/2015/12/beautiful-wallpaper-download-14.jpg" target="_blank">
<strong>Click on image for full size view.</strong><br></a>
<a href="https://www.technocrazed.com/wp-content/uploads/2015/12/beautiful-wallpaper-download-14.jpg" target="_blank">
<strong>Click on image for full size view.</strong><br></a>
<a href="https://www.technocrazed.com/wp-content/uploads/2015/12/beautiful-wallpaper-download-14.jpg" target="_blank">
<strong>Click on image for full size view.</strong><br></a>
<a href="https://www.technocrazed.com/wp-content/uploads/2015/12/beautiful-wallpaper-download-14.jpg" target="_blank">
<strong>Click on image for full size view.</strong><br></a>

<img name="img1" onload="linkset(this);" src="https://www.technocrazed.com/wp-content/uploads/2015/12/beautiful-wallpaper-download-14.jpg" alt="" border="0"></a>
</div>

这东西一遍又一遍地循环,但为什么??????????

<strong>Click on image for full size view.</strong><br>
<a href="https://www.technocrazed.com/wp-content/uploads/2015/12/beautiful-wallpaper-download-14.jpg" target="_blank">
<strong>Click on image for full size view.</strong><br></a>

请帮忙........

【问题讨论】:

  • 无法复制。您是否在某种循环中调用此代码?
  • @El_Vanja 不不,它只是一遍又一遍地重复
  • 您在加载图像时调用该函数。当您更新 innerHTML 时,再次调用 onload 这就是它在循环中运行的原因
  • 好的...检查答案
  • 如果代码有效,请评价我

标签: javascript php jquery json ajax


【解决方案1】:

好的,,,,,,,, 我测试了两种方法.... 第一个显然是在 JS 中

<script>
function linkset(img) {
        var massnlink='<strong>Click on image for full size view.</strong><br /><a href="'+img.src+'" target="_blank">'+img.name;
        var photo='<img name="img" src="'+img.src+'" border="0" alt="" /></a>';
        img1.innerHTML = massnlink + photo;
}
</script> 

你可以替换你的js代码

如果所有代码都在这里:

    <script>
    function linkset(img) {
            var massnlink='<strong>Click on image for full size view.</strong><br /><a href="'+img.src+'" target="_blank">'+img.name;
            var photo='<img name="img" src="'+img.src+'" border="0" alt="" /></a>';
            img1.innerHTML = massnlink + photo;
    }
    </script> 
<?php

$img_count = 0;

function parseimage($matches)
{
    global $img_count;

    $img_count++;

    return "\n<div id=\"img{$img_count}\" style=\"font-size:x-small; display:inline;\">\n<img name=\"img{$img_count}\" onload='linkset(this);' src='$matches[1]' border='0' alt='' /></div>";
}

$content = "[img]https://www.technocrazed.com/wp-content/uploads/2015/12/beautiful-wallpaper-download-14.jpg[/img]";

$result = preg_replace_callback('/\[img\]((http|ftp|https):\/\/([a-zA-Z0-9\/\-\+\?\&\.\=\_\~\#\'\%\;]*))\[\/img\]/i', 'parseimage', $content);

?>

<?php echo $result; ?>

第二件事是??????为什么需要 JS 代码???你可以全部使用PHP 代码如下:

<?php

$img_count = 0;

function parseimage($matches)
{
    global $img_count;

    $img_count++;

    return "\n<div id=\"img{$img_count}\" style=\"font-size:x-small; display:inline;\">\n<br>\n<a href='$matches[1]'><strong>Click on image for full size view.</strong><img name=\"img{$img_count}\" onload='linkset(this);' src='$matches[1]' border='0' alt='' /></a></div>";
}

$content = "[img]https://www.technocrazed.com/wp-content/uploads/2015/12/beautiful-wallpaper-download-14.jpg[/img]";

$result = preg_replace_callback('/\[img\]((http|ftp|https):\/\/([a-zA-Z0-9\/\-\+\?\&\.\=\_\~\#\'\%\;]*))\[\/img\]/i', 'parseimage', $content);

?>

<?php echo $result; ?>

我不能讨论 PHP 代码,因为它很容易理解......但是如果你愿意,我可以在评论中给你备注。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 2012-11-27
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多