Func Start()
代码奉上,起因是想用码栈控制IE实现类似PPT播放的功能。
$url = "D:\src\test.html"
$ie = J_IE_Create($url, "", "", "")
J_Windows($ie, "最大化")
$htmlContent_1 = '<!DOCTYPE html><html><head><title>Test</title></head><body><div id="Layer1" style="position:absolute;width:100%;height:100%;z-index:-1"><img src="'
$htmlMid = 'D:\src\images\幻灯片'
$htmlContent_2 = '.jpg" height="100%" width="100%"/></body></html>'
$maxSlide = 8
While 1
$count = 1
$htmlContent = $htmlContent_1 & $htmlMid & $count & $htmlContent_2
J_File_Write($url, $htmlContent, "覆盖")
J_IE_Link($ie, $url)
While 1
If _IsPressed("01") Or _IsPressed("4E") Or _IsPressed("27") Then
$count = $count + 1
If $count > $maxSlide Then
$count = $maxSlide
EndIf
$htmlContent = $htmlContent_1 & $htmlMid & $count & $htmlContent_2
J_File_Write($url, $htmlContent, "覆盖")
J_IE_Link($ie, $url)
ElseIf _IsPressed("50") Or _IsPressed("25") Then
$count = $count - 1
If $count = 0 Then
$count = 1
EndIf
$htmlContent = $htmlContent_1 & $htmlMid & $count & $htmlContent_2
J_File_Write($url, $htmlContent, "覆盖")
J_IE_Link($ie, $url)
ElseIf _IsPressed("1B") Then
J_Windows($ie, "最小化")
ElseIf _IsPressed("0D") Then
J_Windows($ie, "最大化")
ElseIf _IsPressed("2E") Then
J_IE_Close($ie)
Exit
EndIf
Sleep(50)
WEnd
WEnd
EndFunc ;==>Start
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
看起来您正在尝试使用某种脚本语言(可能是AutoIt或其他类似自动化工具)来启动一个网页(test.html
),并对其进行动态修改,比如插入图片元素。这段代码的目的是循环显示不同的幻灯片图片,但似乎在拼接HTML内容时遇到了问题。
根据您的代码片段,我注意到您可能需要帮助理解如何正确地构造和插入HTML内容以实现幻灯片功能。不过,请注意,直接在这里执行或调试具体的脚本代码并不符合我的能力范围,但我可以提供一些指导思路:
构建动态HTML内容: 您已经定义了HTML内容的部分字符串变量,如$htmlContent_1
, $htmlMid
, 和 $htmlContent_2
。要动态生成每个幻灯片的图片标签,您应该在一个循环中改变图片的文件名部分(即$htmlMid
中的实际图片路径),然后将这些部分组合成完整的HTML字符串。
循环与计数: 您初始化了$count = 1
但在提供的代码片段中没有看到它被用于控制循环或图片索引。如果目的是遍历8张幻灯片,您需要在循环内部更新$count
并用它来确定当前应显示的图片编号,从而动态生成正确的图片路径。
拼接图片URL: 确保在每次循环中正确地拼接图片的完整URL或路径。例如,如果图片名为“slide1.jpg”到“slide8.jpg”,您需要在循环中根据$count来构造$htmlMid
。
更新DOM: 一旦生成了包含所有幻灯片图片的完整HTML内容,您需要一种方法将其插入到网页中。这通常涉及到查找或创建一个容器元素(如<div id="slider">...</div>
),然后使用自动化工具的功能(如J_IE_ExecuteScript)来执行JavaScript代码,将新内容插入到页面的指定位置。
基于上述分析,一个简化的逻辑框架可能是这样的:
While $count <= $maxSlide
$currentSlide = "slide" & $count & ".jpg"
$fullImagePath = $htmlMid & $currentSlide & $htmlContent_2
; 假设这里有一个函数或方法可以用来更新网页上的某个元素内容
; J_IE_ExecuteScript($ie, "document.getElementById('slider').innerHTML += '" & $fullImagePath & "';")
Sleep(若干毫秒) ; 如果需要间隔显示幻灯片
$count += 1
WEnd
请根据您使用的具体自动化工具的API文档调整上述示例代码。如果您是在寻找阿里云产品相关的解决方案,例如使用OSS存储图片、通过函数计算(Function Compute)处理图片或者部署Web应用等,也欢迎提问,我会提供相应的技术指导。