解决用jquery load加载页面到div时,不执行页面js的问题


在使用jQuery的`.load()`方法加载页面片段到一个div时,默认行为是不会执行被加载内容中的JavaScript脚本。这是因为`.load()`方法仅仅是通过AJAX请求获取HTML内容,并将其插入到指定的DOM元素中,而不会解析或执行其中的`

**主页面**:


$('#yourDiv').load('your-page.html', function() {
    initMyPage(); // 加载完成后调用函数
});

### 2. 使用`$.getScript()`

如果你需要加载并执行外部JavaScript文件,可以使用`$.getScript()`方法。但请注意,这通常用于加载单独的JavaScript文件,而不是内嵌在HTML中的脚本。


$.getScript('path/to/your-script.js', function() {
    // 脚本加载并执行完成后的回调函数
    console.log('外部脚本已加载并执行');
});

### 3. 评估加载的HTML中的脚本(不推荐)

虽然不推荐(因为可能带来安全风险,如XSS攻击),但理论上你可以使用JavaScript的`eval()`函数或类似方法来执行HTML字符串中的JavaScript代码。然而,这通常需要你先从加载的HTML中提取出`

总之,推荐的做法是使用全局函数或`$.getScript()`来加载和执行JavaScript,这样可以保持代码的清晰和安全性。