i try this:
import arcpy,os,sys,string
import arcpy.mapping
from arcpy import env
env.workspace = r"C:\Project"
for mxdname in arcpy.ListFiles('*.mxd'):
print mxdname
mxd = arcpy.mapping.MapDocument(r"C:\Project\\" + mxdname)
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
for lyr in arcpy.mapping.ListLayers(mxd, "" ,df):
if not df.extent.overlaps(lyr.getExtent()):
arcpy.mapping.RemoveLayer(df, lyr)
print lyr
mxd.save()
del mxd
but actually arcpy remove also layers that have been halfly in the data frame