Portal项目中的Hack

本文介绍了解决页面浏览器不兼容的技巧方法,包括如何正确兼容IE和Firefox的display属性,以及HTML和CSS的兼容性策略。通过使用!important、*html与*+html标签等方法,可以实现跨浏览器的兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hack :是解决页面浏览器不兼容的技巧方法。

IE和Firefox的display兼容性问题解决

正确兼容IE和Firefox的写法应该是这样的:

document.getElementById("test").style.display="block";//IE
document.getElementById("test").style.display="table-row";//FF

完整写法是:
document.getElementById("test").style.display=document.all?"block":"table-row";

另外还有个注意的问题【兼容IE和Firefox的写法】:

document.getElementById("test").style.display="";//显示

document.getElementById("test").style.display="none";//隐藏

 

HTML兼容性

 所有浏览器 通用
height: 100px;
IE6 专用
_height: 100px;
IE6 专用
*height: 100px;
IE7 专用
*+height: 100px;
IE7、FF 共用
height: 100px !important;

CSS 兼容

以下两种方法几乎能解决现今所有兼容.
1, !important (不是很推荐,用下面的一种感觉最安全)
随着IE7对!important的支持, !important 方法现在只针对IE6的兼容.(注意写法.记得该声明位置需要提前.)
代码:
<style>
#wrapper {
width: 100px!important; /* IE7+FF */
width: 80px; /* IE6 */
}
</style>
2, IE6/IE77对FireFox <from 针对firefox ie6 ie7的css样式>
*+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签.
代码:
<style>
#wrapper { width: 120px; } /* FireFox */
*html #wrapper { width: 80px;} /* ie6 fixed */
*+html #wrapper { width: 60px;} /* ie7 fixed, 注意顺序 */
</style>
注意:
*+html 对IE7的兼容 必须保证HTML顶部有如下声明:
代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">


 

<think>嗯,用户现在遇到了TIA Portal V16中项目无法搜索的问题。首先,我需要确定用户的具体情况。他们可能是在使用项目查找功能时遇到了困难,或者是搜索不到已有的项目文件。可能的原因有很多,我需要逐一分析。 首先,我应该考虑项目存储路径的问题。用户可能将项目存放在网络驱动器或外置存储设备上,这些位置可能因为权限问题或连接不稳定导致TIA Portal无法正确访问。这时候,建议用户将项目复制到本地硬盘再尝试搜索,同时检查路径中是否有特殊字符或过长路径,这可能会影响搜索功能。 接下来是索引服务的问题。TIA Portal依赖Windows的索引服务来加快搜索速度。如果索引未完成或者被禁用,可能导致搜索失败。这时候需要指导用户检查Windows搜索服务是否运行,并重建索引。另外,用户可能没有将项目所在文件夹添加到索引位置中,这也需要确认。 项目兼容性也是一个重要因素。如果用户尝试搜索的是由更高版本TIA Portal创建的项目,比如V17或V18,而当前使用的是V16,那么这些项目将无法被正确识别。需要提醒用户检查项目版本,必要时进行版本转换。此外,项目文件损坏也可能导致无法搜索,建议使用“恢复”功能尝试修复。 软件本身的设置或缓存问题也不能忽视。TIA Portal的缓存文件如果损坏,可能影响搜索功能。指导用户清理临时文件,特别是TIA Portal的缓存目录,然后重启软件。同时,检查软件更新,安装最新的Hotfix或Service Pack,可能修复已知的搜索相关bug。 系统环境方面,用户的操作系统版本是否兼容TIA V16?例如,Win10的某些更新可能导致兼容性问题。此外,防病毒软件或防火墙可能会错误地阻止TIA Portal访问项目文件,需要暂时禁用这些软件进行测试。还有用户权限,是否以管理员身份运行TIA Portal,这有时能解决权限不足的问题。 如果以上步骤都无效,可能需要更深入的排查,比如检查项目结构是否完整,或者使用命令行工具手动重建索引。还可以建议用户尝试在不同的用户账户下进行搜索,以排除用户配置的问题。最后,如果所有方法都失败,建议用户联系西门子技术支持,并提供详细的日志文件以便进一步分析。 整个思考过程中,要确保回答结构清晰,步骤明确,用户能够按照指引逐步排查问题。同时,使用适当的代码块和格式帮助用户理解操作步骤,比如PowerShell命令和文件路径。还要注意用户可能的技术水平,避免使用过于专业的术语,保持解释的易懂性。</think>以下是针对**TIA Portal V16项目无法搜索**的详细排查与解决方案: --- ### 一、基础环境验证 1. **检查项目存储位置** ```powershell # 验证项目是否在以下受限制路径中: - 网络驱动器(映射盘符如\\192.168.1.100\projects) - 外置存储设备(USB硬盘需格式化为NTFS) - 系统保护文件夹(如Program Files、Windows目录) # 解决方案:将项目迁移至本地NTFS分区,路径层级≤5层 ``` 2. **Windows索引服务状态** ```powershell # 检查Windows Search服务 Get-Service -Name "WSearch" | Select Status, StartType # 若状态非"Running",执行: Start-Service WSearch Set-Service WSearch -StartupType Automatic # 重建索引(耗时操作): Control.exe srchadmin.dll,IndexingOptions → 高级 → 重建 ``` --- ### 二、软件配置排查 #### 1. TIA Portal设置 - **禁用增强型搜索缓存**(适用于大项目): ```bash 1. 进入Options → General settings → User Interface 2. 取消勾选 "Use enhanced search caching" 3. 重启TIA Portal ``` - **自定义搜索范围**: ```mermaid graph LR A[Project tree] --> B{右键点击设备或程序块} B --> C[Find in project] C --> D[指定搜索范围: 全局/局部] ``` #### 2. 项目兼容性检查 - **版本匹配规则**: | 当前TIA版本 | 可搜索项目版本 | |-------------|------------------------| | V16 | V13 SP1 ~ V16 | | V16 SP1 | V14 ~ V16 SP1 | - **跨版本项目处理**: ```bash # 使用Project → Retrieve升级旧版本项目 # 若提示"Invalid project format",需用原始版本导出源文件 ``` --- ### 三、高级修复措施 #### 1. 索引文件手动维护 - **定位索引数据库**: ```powershell # TIA Portal索引存储路径: $env:ProgramData\Siemens\Automation\Portal V16\IndexedDB # 清空该目录后重启软件自动重建 ``` - **命令行重建索引**: ```cmd :: 以管理员身份运行 "C:\Program Files (x86)\Common Files\Siemens\Automation\Portal V16\Bin\Siemens.Automation.Portal.Search.Indexer.exe" -rebuild ``` #### 2. 组件依赖验证 - **必备运行库检查**: ```powershell # 使用Dependency Walker分析TiPortal.exe 1. 下载depends22_x64.zip 2. 加载TiPortal.exe → 查看红色缺失项 # 常见问题组件: - MSVCR120.dll → 安装VC++ 2013 Redist - api-ms-win-crt-runtime-l1-1-0.dll → 安装KB2919355 ``` --- ### 四、典型错误代码处理 | 错误提示 | 解决方案 | |------------------------------|--------------------------------------------------------------------------| | "Search index is corrupted" | 删除`%ProgramData%\Siemens\Automation\Portal V16\SearchIndex`目录 | | "No results found" | 检查过滤器设置:<br> - 取消勾选"Match case"<br> - 扩展文件类型范围 | | "Search service not ready" | 执行`services.msc` → 重启`Siemens TIA Portal Search Service` | --- ### 五、性能优化建议 1. **项目分割策略**: - 单个项目建议不超过500个程序块 - 超过200MB的项目启用**多项目库**管理 2. **硬件加速配置**: ```bash # 修改TIA Portal启动参数(快捷方式属性): "C:\Program Files\Siemens\...\TiPortal.exe" -DisableGPUBlacklist -force-opengl ``` --- **操作流程图**: ```mermaid graph TD A[启动搜索] --> B{立即报错?} B -->|是| C[检查索引服务状态] B -->|否| D[等待10分钟] C --> E[修复Windows Search] D --> F{显示无结果?} F -->|是| G[调整搜索条件] G --> H[验证特殊字符过滤] H --> I[成功显示结果] E --> I ``` 若问题仍未解决: 1. 收集以下日志: - Windows事件日志(筛选事件源`TIA Portal Search`) - `%ProgramData%\Siemens\Automation\Portal V16\Logs\Search*.log` 2. 联系西门子技术支持时提供: ```bash TIA版本号 + Windows版本 + 项目规模(块数量/大小) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邹琼俊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值