求助:实现点击橙色文本调用Orange.js并加载至myTableResult容器
解决方案
你当前的代码仅触发了getScript函数调用,但缺少该函数的具体实现,因此无法完成加载JS内容到目标容器的需求。以下是完整的可运行代码:
完整实现代码
<a onclick="getScript('Orange.js');">Orange</a> <div id="myTableResult"></div> <script type="text/javascript"> function getScript(scriptUrl) { // 发起请求获取JS文件内容 fetch(scriptUrl) .then(res => { if (!res.ok) throw new Error(`HTTP错误:${res.status}`); return res.text(); }) .then(content => { // 将JS文件的文本内容插入到目标容器 document.getElementById('myTableResult').textContent = content; // 如果你需要的是**执行Orange.js的代码**而非显示代码文本,替换上面一行为以下代码: // const scriptTag = document.createElement('script'); // scriptTag.textContent = content; // document.body.appendChild(scriptTag); // (注:执行外部JS时,确保文件路径正确且无跨域限制) }) .catch(err => { document.getElementById('myTableResult').textContent = `加载失败:${err.message}`; }); } </script>
核心说明
- 函数
getScript通过fetchAPI请求指定的JS文件,获取其文本内容后写入myTableResult容器 - 两种场景处理:
- 显示JS代码文本:直接用
textContent插入内容 - 执行JS代码:动态创建
<script>标签并插入到页面,让浏览器执行代码
- 显示JS代码文本:直接用
- 注意事项:确保
Orange.js的路径与当前页面一致,若跨域需配置CORS规则;动态执行JS需注意安全风险,避免加载不可信的脚本
内容的提问来源于stack exchange,提问作者Rick D
相关产品推荐
相关产品推荐

